From 57bfabe64d3e711a1f6f1fe64be0c0ca28f789f3 Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Fri, 14 Oct 2022 15:27:14 +0200 Subject: [PATCH 01/68] [skip-changelog] Update release workflows to match their templates (#1922) * Update publish-go-tester-task * Update publish-go-nightly-task * Update release-go-task --- .github/workflows/publish-go-nightly-task.yml | 4 +- .github/workflows/publish-go-tester-task.yml | 65 ++++++++++--------- .github/workflows/release-go-task.yml | 4 +- 3 files changed, 40 insertions(+), 33 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index b15eb023476..6ddc4e7e7fc 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -173,11 +173,11 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }} - - name: Output checksum + - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | TAG="nightly-$(date -u +"%Y%m%d")" - sha256sum ${{ env.PROJECT_NAME }}_${TAG}* >> ${TAG}-checksums.txt + sha256sum ${{ env.PROJECT_NAME }}_${TAG}* > ${TAG}-checksums.txt - name: Upload release files on Arduino downloads servers uses: docker://plugins/s3 diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index f2bc0fc84cd..b730416c4c8 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -28,7 +28,6 @@ env: PROJECT_NAME: arduino-cli # As defined by the Taskfile's DIST_DIR variable DIST_DIR: dist - BUILDS_ARTIFACT: build-artifacts jobs: run-determination: @@ -54,40 +53,57 @@ jobs: echo "::set-output name=result::$RESULT" - build: - name: Build ${{ matrix.os.name }} + package-name-prefix: needs: run-determination if: needs.run-determination.outputs.result == 'true' runs-on: ubuntu-latest + outputs: + prefix: ${{ steps.calculation.outputs.prefix }} + steps: + - name: package name prefix calculation + id: calculation + run: | + PACKAGE_NAME_PREFIX="test" + if [ "${{ github.event_name }}" = "pull_request" ]; then + PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.event.number }}" + fi + PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-" + + echo "::set-output name=prefix::$PACKAGE_NAME_PREFIX" + + build: + needs: package-name-prefix + name: Build ${{ matrix.os.name }} + runs-on: ubuntu-latest strategy: matrix: os: - - dist: Windows_32bit + - task: Windows_32bit path: "*Windows_32bit.zip" name: Windows_X86-32 - - dist: Windows_64bit + - task: Windows_64bit path: "*Windows_64bit.zip" name: Windows_X86-64 - - dist: Linux_32bit + - task: Linux_32bit path: "*Linux_32bit.tar.gz" name: Linux_X86-32 - - dist: Linux_64bit + - task: Linux_64bit path: "*Linux_64bit.tar.gz" name: Linux_X86-64 - - dist: Linux_ARMv6 + - task: Linux_ARMv6 path: "*Linux_ARMv6.tar.gz" name: Linux_ARMv6 - - dist: Linux_ARMv7 + - task: Linux_ARMv7 path: "*Linux_ARMv7.tar.gz" name: Linux_ARMv7 - - dist: Linux_ARM64 + - task: Linux_ARM64 path: "*Linux_ARM64.tar.gz" name: Linux_ARM64 - - dist: macOS_64bit + - task: macOS_64bit path: "*macOS_64bit.tar.gz" name: macOS_64 - - dist: macOS_ARM64 + - task: macOS_ARM64 path: "*macOS_ARM64.tar.gz" name: macOS_ARM64 @@ -105,14 +121,11 @@ jobs: - name: Build run: | - PACKAGE_NAME_PREFIX="test" - if [ "${{ github.event_name }}" = "pull_request" ]; then - PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.event.number }}" - fi - PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-" + PACKAGE_NAME_PREFIX=${{ needs.package-name-prefix.outputs.prefix }} export PACKAGE_NAME_PREFIX - task dist:${{ matrix.os.dist }} + task dist:${{ matrix.os.task }} + # Transfer builds to artifacts job - name: Upload build artifact uses: actions/upload-artifact@v3 with: @@ -120,24 +133,18 @@ jobs: name: ${{ matrix.os.name }} checksums: - needs: build + needs: + - build + - package-name-prefix runs-on: ubuntu-latest steps: - name: Download build artifacts uses: actions/download-artifact@v3 - with: - path: ${{ env.BUILDS_ARTIFACT }} - name: Output checksum - working-directory: ${{ env.BUILDS_ARTIFACT}} run: | - PACKAGE_NAME_PREFIX="test" - if [ "${{ github.event_name }}" = "pull_request" ]; then - PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.event.number }}" - fi - PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-" - TAG="${PACKAGE_NAME_PREFIX}git-snapshot" + TAG="${{ needs.package-name-prefix.outputs.prefix }}git-snapshot" declare -a artifacts=($(ls -d */)) for artifact in ${artifacts[@]} do @@ -150,5 +157,5 @@ jobs: - name: Upload checksum artifact uses: actions/upload-artifact@v3 with: - path: ${{ env.BUILDS_ARTIFACT }}/*checksums.txt + path: ./*checksums.txt name: checksums diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 56479508b05..8c27721899e 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -180,11 +180,11 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }} - - name: Output checksum + - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | TAG="${GITHUB_REF/refs\/tags\//}" - sha256sum ${{ env.PROJECT_NAME }}_${TAG}* >> ${TAG}-checksums.txt + sha256sum ${{ env.PROJECT_NAME }}_${TAG}* > ${TAG}-checksums.txt - name: Identify Prerelease # This is a workaround while waiting for create-release action From ea43a9c63fb440828d4de27770113ccac04b4a91 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Mon, 17 Oct 2022 19:01:26 +0200 Subject: [PATCH 02/68] Add windows `.msi` installer to the CI (#1899) * add step to generate a windows msi installer of the Arduino CLI * remove warning: `warning : Solution properties are only available during IDE builds or when building the solution file from the command line. To turn off this warning set false in your .wixproj` * fix error caused by wix peculiar version constraints: `error CNDL0108: The Product/@Version attribute's value, '0.0.0-test', is not a valid version. Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.` * fix `error LGHT0103: The system cannot find the file 'arduino-cli.exe'` * final adjustments in wix config * exclude prettier from checking the installer config files, prettier does not support xml out of the box * add download links * temporarily disable s3 push and homebrew update for testing * Upload nightly artifacts for testing * add windows check certs * bump to latest windows-sdk and document better specify timestamp algorithm. Apparently this is required in the latest version of the sdk * remove useless job id not used anymore (followup of #1883) * fixed comments * It's useless to use the output from setupmsbuild * use YAML-style syntax * try to uniform the usage of version/tag across the workflow * Revert "Upload nightly artifacts for testing" && "temporarily disable s3 push and homebrew update for testing" This reverts commit 3123dfd8ea0b2fa4d2fd33aa4ccd5696f34355d2. This reverts commit 24fa25ca65be2d8f149729f3c169479e1848fa51. * Apply suggestions from code review Co-authored-by: per1234 Co-authored-by: per1234 --- .github/workflows/check-certificates.yml | 3 + .github/workflows/publish-go-nightly-task.yml | 81 ++++++++++++++++--- .github/workflows/release-go-task.yml | 77 ++++++++++++++++-- .prettierignore | 1 + Taskfile.yml | 5 ++ docs/installation.md | 32 ++++---- installer/cli.wixproj | 39 +++++++++ installer/cli.wxs | 67 +++++++++++++++ installer/ui.wxs | 54 +++++++++++++ 9 files changed, 328 insertions(+), 31 deletions(-) create mode 100644 installer/cli.wixproj create mode 100644 installer/cli.wxs create mode 100644 installer/ui.wxs diff --git a/.github/workflows/check-certificates.yml b/.github/workflows/check-certificates.yml index 589dd2412ed..9ca01502255 100644 --- a/.github/workflows/check-certificates.yml +++ b/.github/workflows/check-certificates.yml @@ -36,6 +36,9 @@ jobs: - identifier: macOS signing certificate # Text used to identify certificate in notifications. certificate-secret: INSTALLER_CERT_MAC_P12 # Name of the secret that contains the certificate. password-secret: INSTALLER_CERT_MAC_PASSWORD # Name of the secret that contains the certificate password. + - identifier: Windows signing certificate + certificate-secret: INSTALLER_CERT_WINDOWS_PASSWORD + password-secret: INSTALLER_CERT_WINDOWS_PFX steps: - name: Set certificate path environment variable diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 6ddc4e7e7fc..821673c8ce0 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -20,6 +20,8 @@ on: jobs: create-nightly-artifacts: + outputs: + version: ${{ steps.get-version.outputs.version }} runs-on: ubuntu-latest strategy: @@ -50,6 +52,12 @@ jobs: NIGHTLY: true run: task dist:${{ matrix.os }} + - name: Output Version + id: get-version + env: + NIGHTLY: true + run: echo "::set-output name=version::$(task general:get-version)" + - name: Upload artifacts uses: actions/upload-artifact@v3 with: @@ -61,9 +69,6 @@ jobs: name: Notarize ${{ matrix.artifact.name }} runs-on: macos-latest needs: create-nightly-artifacts - outputs: - checksum-darwin_amd64: ${{ steps.re-package.outputs.checksum-darwin_amd64 }} - checksum-darwin_arm64: ${{ steps.re-package.outputs.checksum-darwin_arm64 }} env: GON_CONFIG_PATH: gon.config.hcl @@ -141,15 +146,14 @@ jobs: gon "${{ env.GON_CONFIG_PATH }}" - name: Re-package binary - id: re-package working-directory: ${{ env.DIST_DIR }} # Repackage the signed binary replaced in place by Gon (ignoring the output zip file) run: | # GitHub's upload/download-artifact@v2 actions don't preserve file permissions, # so we need to add execution permission back until the action is made to do this. chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}" - # Use of an array here is required for globbing - PACKAGE_FILENAME=(${{ env.PROJECT_NAME }}_nightly-*${{ matrix.artifact.path }}) + VERSION=${{ needs.create-nightly-artifacts.outputs.version }} + PACKAGE_FILENAME=(${{ env.PROJECT_NAME }}_${VERSION}_${{ matrix.artifact.path }}) tar -czvf "$PACKAGE_FILENAME" \ -C "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/" "${{ env.PROJECT_NAME }}" \ -C ../../ LICENSE.txt @@ -162,9 +166,68 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} + create-windows-installer: + runs-on: windows-latest + needs: create-nightly-artifacts + + defaults: + run: + shell: bash + + env: + INSTALLER_CERT_WINDOWS_PFX: "/tmp/cert.pfx" + # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. + # Keep in mind that this path could change when upgrading to a new runner version + # https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#installed-windows-sdks + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe" + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }} + path: ${{ env.DIST_DIR }} + + - name: Prepare PATH + uses: microsoft/setup-msbuild@v1 + + - name: Build MSI + id: buildmsi + run: | + VERSION=${{ needs.create-nightly-artifacts.outputs.version }} + WIX_VERSION="0.0.0" # use 0.0.0 as version for the installer since wix is picky about other alternatives, this only affects nightly builds (error CNDL0242) + PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${VERSION}_Windows_64bit" + SOURCE_DIR="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_windows_amd64/" + MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_VERSION" + + - name: Save Win signing certificate to file + run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_PFX }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_PFX}} + + - name: Sign MSI + env: + MSI_FILE: ${{ steps.buildmsi.outputs.msi }} # this comes from .installer/cli.wixproj + CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + run: | + "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_PFX}} -p ${{ env.CERT_PASSWORD }} -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + env: + MSI_FILE: ${{ steps.buildmsi.outputs.msi }} + with: + if-no-files-found: error + name: ${{ env.ARTIFACT_NAME }} + path: ${{ env.MSI_FILE }} + publish-nightly: runs-on: ubuntu-latest - needs: notarize-macos + needs: + - create-nightly-artifacts + - notarize-macos + - create-windows-installer steps: - name: Download artifact @@ -176,8 +239,8 @@ jobs: - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | - TAG="nightly-$(date -u +"%Y%m%d")" - sha256sum ${{ env.PROJECT_NAME }}_${TAG}* > ${TAG}-checksums.txt + VERSION=${{ needs.create-nightly-artifacts.outputs.version }} + sha256sum ${{ env.PROJECT_NAME }}_${VERSION}* > ${VERSION}-checksums.txt - name: Upload release files on Arduino downloads servers uses: docker://plugins/s3 diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 8c27721899e..5d026f422bb 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -17,6 +17,8 @@ on: jobs: create-release-artifacts: + outputs: + version: ${{ steps.get-version.outputs.version }} runs-on: ubuntu-latest strategy: @@ -57,6 +59,10 @@ jobs: - name: Build run: task dist:${{ matrix.os }} + - name: Output Version + id: get-version + run: echo "::set-output name=version::$(task general:get-version)" + - name: Upload artifacts uses: actions/upload-artifact@v3 with: @@ -68,9 +74,6 @@ jobs: name: Notarize ${{ matrix.artifact.name }} runs-on: macos-latest needs: create-release-artifacts - outputs: - checksum-darwin_amd64: ${{ steps.re-package.outputs.checksum-darwin_amd64 }} - checksum-darwin_arm64: ${{ steps.re-package.outputs.checksum-darwin_arm64 }} env: GON_CONFIG_PATH: gon.config.hcl @@ -148,14 +151,13 @@ jobs: gon "${{ env.GON_CONFIG_PATH }}" - name: Re-package binary - id: re-package working-directory: ${{ env.DIST_DIR }} # Repackage the signed binary replaced in place by Gon (ignoring the output zip file) run: | # GitHub's upload/download-artifact@v2 actions don't preserve file permissions, # so we need to add execution permission back until the action is made to do this. chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}" - TAG="${GITHUB_REF/refs\/tags\//}" + TAG=${{ needs.create-release-artifacts.outputs.version }} PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_${{ matrix.artifact.path }}" tar -czvf "$PACKAGE_FILENAME" \ -C "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/" "${{ env.PROJECT_NAME }}" \ @@ -169,9 +171,68 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} + create-windows-installer: + runs-on: windows-latest + needs: create-release-artifacts + + defaults: + run: + shell: bash + + env: + INSTALLER_CERT_WINDOWS_PFX: "/tmp/cert.pfx" + # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. + # Keep in mind that this path could change when upgrading to a new runner version + # https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#installed-windows-sdks + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe" + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }} + path: ${{ env.DIST_DIR }} + + - name: Prepare PATH + uses: microsoft/setup-msbuild@v1 + + - name: Build MSI + id: buildmsi + run: | + TAG=${{ needs.create-release-artifacts.outputs.version }} + WIX_TAG="${TAG%%-*}" # removes "-rc*" since wix is not happy with it, this only affects RCs builds (error CNDL0108) + PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_Windows_64bit" + SOURCE_DIR="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_windows_amd64/" + MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_TAG" + + - name: Save Win signing certificate to file + run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_PFX }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_PFX}} + + - name: Sign MSI + env: + MSI_FILE: ${{ steps.buildmsi.outputs.msi }} # this comes from .installer/cli.wixproj + CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + run: | + "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_PFX}} -p ${{ env.CERT_PASSWORD }} -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + env: + MSI_FILE: ${{ steps.buildmsi.outputs.msi }} + with: + if-no-files-found: error + name: ${{ env.ARTIFACT_NAME }} + path: ${{ env.MSI_FILE }} + create-release: runs-on: ubuntu-latest - needs: notarize-macos + needs: + - create-release-artifacts + - notarize-macos + - create-windows-installer steps: - name: Download artifact @@ -183,7 +244,7 @@ jobs: - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | - TAG="${GITHUB_REF/refs\/tags\//}" + TAG=${{ needs.create-release-artifacts.outputs.version }} sha256sum ${{ env.PROJECT_NAME }}_${TAG}* > ${TAG}-checksums.txt - name: Identify Prerelease @@ -193,7 +254,7 @@ jobs: run: | wget -q -P /tmp https://github.com/fsaintjacques/semver-tool/archive/3.0.0.zip unzip -p /tmp/3.0.0.zip semver-tool-3.0.0/src/semver >/tmp/semver && chmod +x /tmp/semver - if [[ "$(/tmp/semver get prerel "${GITHUB_REF/refs\/tags\//}")" ]]; then echo "::set-output name=IS_PRE::true"; fi + if [[ "$(/tmp/semver get prerel ${{ needs.create-release-artifacts.outputs.version }} )" ]]; then echo "::set-output name=IS_PRE::true"; fi - name: Create Github Release and upload artifacts uses: ncipollo/release-action@v1 diff --git a/.prettierignore b/.prettierignore index 26aad378ce1..3b34afa1ed6 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,3 +8,4 @@ /arduino/security/testdata/ /.licenses/ /site/ +/installer/ \ No newline at end of file diff --git a/Taskfile.yml b/Taskfile.yml index 9d24febc3b1..23a2b6561aa 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -327,6 +327,11 @@ tasks: cmds: - poetry run mkdocs serve + general:get-version: + desc: Returns the version used in the project + cmds: + - echo {{.VERSION}} + vars: PROJECT_NAME: "arduino-cli" DIST_DIR: "dist" diff --git a/docs/installation.md b/docs/installation.md index 9677997ac43..6a444fe4bfc 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -58,13 +58,14 @@ in your [`PATH`](https://en.wikipedia.org/wiki/PATH%5F%28variable%29) or add the ### Latest release -| Platform | | | -| --------- | -------------------- | -------------------- | -| Linux | [32 bit][linux32] | [64 bit][linux64] | -| Linux ARM | [32 bit][linuxarm32] | [64 bit][linuxarm64] | -| Windows | [32 bit][windows32] | [64 bit][windows64] | -| macOS | | [64 bit][macos64] | -| macOS ARM | | [64 bit][macosarm64] | +| Platform | | | +| ----------- | -------------------- | ---------------------- | +| Linux | [32 bit][linux32] | [64 bit][linux64] | +| Linux ARM | [32 bit][linuxarm32] | [64 bit][linuxarm64] | +| Windows exe | [32 bit][windows32] | [64 bit][windows64] | +| Windows msi | | [64 bit][windowsmsi64] | +| macOS | | [64 bit][macos64] | +| macOS ARM | | [64 bit][macosarm64] | [linux64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz [linux32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_32bit.tar.gz @@ -72,6 +73,7 @@ in your [`PATH`](https://en.wikipedia.org/wiki/PATH%5F%28variable%29) or add the [linuxarm32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_ARMv7.tar.gz [windows64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip [windows32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_32bit.zip +[windowsmsi64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.msi [macos64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_macOS_64bit.tar.gz [macosarm64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_macOS_ARM64.tar.gz @@ -88,13 +90,14 @@ These are available from the "Assets" sections on the [releases page](https://gi These builds are generated every day at 01:00 GMT from the `master` branch and should be considered unstable. In order to get the latest nightly build available for the supported platform, use the following links: -| Platform | | | -| --------- | ---------------------------- | ---------------------------- | -| Linux | [32 bit][linux32-nightly] | [64 bit][linux64-nightly] | -| Linux ARM | [32 bit][linuxarm32-nightly] | [64 bit][linuxarm64-nightly] | -| Windows | [32 bit][windows32-nightly] | [64 bit][windows64-nightly] | -| macOS | | [64 bit][macos64-nightly] | -| macOS ARM | | [64 bit][macosarm64-nightly] | +| Platform | | | +| ----------- | ---------------------------- | ------------------------------ | +| Linux | [32 bit][linux32-nightly] | [64 bit][linux64-nightly] | +| Linux ARM | [32 bit][linuxarm32-nightly] | [64 bit][linuxarm64-nightly] | +| Windows exe | [32 bit][windows32-nightly] | [64 bit][windows64-nightly] | +| Windows msi | | [64 bit][windowsmsi64-nightly] | +| macOS | | [64 bit][macos64-nightly] | +| macOS ARM | | [64 bit][macosarm64-nightly] | [linux64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_64bit.tar.gz [linux32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_32bit.tar.gz @@ -102,6 +105,7 @@ to get the latest nightly build available for the supported platform, use the fo [linuxarm32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_ARMv7.tar.gz [windows64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_64bit.zip [windows32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_32bit.zip +[windowsmsi64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_64bit.msi [macos64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_macOS_64bit.tar.gz [macosarm64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_macOS_ARM64.tar.gz diff --git a/installer/cli.wixproj b/installer/cli.wixproj new file mode 100644 index 00000000000..e574aa9f168 --- /dev/null +++ b/installer/cli.wixproj @@ -0,0 +1,39 @@ + + + + Release + x64 + + 0.1.0 + + $(MSBuildProjectName) + package + + $(DefineConstants); + ProductVersion=$(ProductVersion); + + false + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + + + + + + + + + + + + + + + + + + + + + + + diff --git a/installer/cli.wxs b/installer/cli.wxs new file mode 100644 index 00000000000..0a3731edda2 --- /dev/null +++ b/installer/cli.wxs @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/installer/ui.wxs b/installer/ui.wxs new file mode 100644 index 00000000000..5de8cf2c3d7 --- /dev/null +++ b/installer/ui.wxs @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + 1 + "1"]]> + + 1 + + NOT Installed + Installed AND PATCH + + 1 + 1 + NOT WIXUI_DONTVALIDATEPATH + "1"]]> + WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" + 1 + 1 + + NOT Installed + Installed AND NOT PATCH + Installed AND PATCH + + 1 + + 1 + 1 + 1 + + + + + + + \ No newline at end of file From 54a0bc07b5447ac290c975a6a4490e4a1e72123c Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:37:43 +0200 Subject: [PATCH 03/68] fix `check-certificates.yml` failing (#1927) --- .github/workflows/check-certificates.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-certificates.yml b/.github/workflows/check-certificates.yml index 9ca01502255..14739bc12c0 100644 --- a/.github/workflows/check-certificates.yml +++ b/.github/workflows/check-certificates.yml @@ -37,8 +37,8 @@ jobs: certificate-secret: INSTALLER_CERT_MAC_P12 # Name of the secret that contains the certificate. password-secret: INSTALLER_CERT_MAC_PASSWORD # Name of the secret that contains the certificate password. - identifier: Windows signing certificate - certificate-secret: INSTALLER_CERT_WINDOWS_PASSWORD - password-secret: INSTALLER_CERT_WINDOWS_PFX + certificate-secret: INSTALLER_CERT_WINDOWS_PFX + password-secret: INSTALLER_CERT_WINDOWS_PASSWORD steps: - name: Set certificate path environment variable From 6f14510a9a4a6f9acd1c9c4932e5c3e4ad33dba8 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Tue, 18 Oct 2022 15:50:39 +0200 Subject: [PATCH 04/68] Update labels.yml (#1929) --- .github/label-configuration-files/labels.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/label-configuration-files/labels.yml b/.github/label-configuration-files/labels.yml index b9efe9f8243..aa5b5e628fb 100644 --- a/.github/label-configuration-files/labels.yml +++ b/.github/label-configuration-files/labels.yml @@ -19,3 +19,9 @@ - name: "topic: packaging" color: "00ffff" description: Related to the release distribution package +- name: "topic: build-process" + color: "00ffff" + description: Related to the sketch build process +- name: "topic: package-management" + color: "00ffff" + description: Related to the packaging and managing of the platform/libraries From 0d8ce360795403fc2060c78cdcc4fcc295dff7f6 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 18 Oct 2022 17:37:14 +0200 Subject: [PATCH 05/68] Pluggable discovery: board identification can now identify also custom board options (#1674) * Added test for os-specific config options * Build board config options structures only once and cache them * Board's build options properties are now calculated only once and cached * Added tests for config options ordering It required insertion of test data with the properties.Set method to preserve ordering. * Renamed some variables to improve code readability * Added board config identification subroutines * Added board config detection in 'commands.identify' function * Updated docs * Apply suggestions from code review Co-authored-by: per1234 * Fixed comment Co-authored-by: per1234 --- arduino/cores/board.go | 127 +++-- arduino/cores/board_test.go | 609 +++++++++++++--------- arduino/cores/packagemanager/identify.go | 9 + arduino/cores/packagemanager/loader.go | 12 +- commands/board/list.go | 9 +- docs/pluggable-discovery-specification.md | 78 +++ 6 files changed, 565 insertions(+), 279 deletions(-) diff --git a/arduino/cores/board.go b/arduino/cores/board.go index 3195fb8f14f..c5cd73daafd 100644 --- a/arduino/cores/board.go +++ b/arduino/cores/board.go @@ -27,6 +27,10 @@ type Board struct { BoardID string Properties *properties.Map `json:"-"` PlatformRelease *PlatformRelease `json:"-"` + configOptions *properties.Map + configOptionValues map[string]*properties.Map + configOptionProperties map[string]*properties.Map + defaultConfig *properties.Map identificationProperties []*properties.Map } @@ -64,66 +68,74 @@ func (b *Board) String() string { return b.FQBN() } +func (b *Board) buildConfigOptionsStructures() { + if b.configOptions != nil { + return + } + + b.configOptions = properties.NewMap() + allConfigs := b.Properties.SubTree("menu") + for _, option := range allConfigs.FirstLevelKeys() { + b.configOptions.Set(option, b.PlatformRelease.Menus.Get(option)) + } + + b.configOptionValues = map[string]*properties.Map{} + b.configOptionProperties = map[string]*properties.Map{} + b.defaultConfig = properties.NewMap() + for option, optionProps := range allConfigs.FirstLevelOf() { + b.configOptionValues[option] = properties.NewMap() + values := optionProps.FirstLevelKeys() + b.defaultConfig.Set(option, values[0]) + for _, value := range values { + if label, ok := optionProps.GetOk(value); ok { + b.configOptionValues[option].Set(value, label) + b.configOptionProperties[option+"="+value] = optionProps.SubTree(value) + } + } + } +} + // GetConfigOptions returns an OrderedMap of configuration options for this board. // The returned map will have key and value as option id and option name, respectively. func (b *Board) GetConfigOptions() *properties.Map { - res := properties.NewMap() - menu := b.Properties.SubTree("menu") - for _, option := range menu.FirstLevelKeys() { - res.Set(option, b.PlatformRelease.Menus.Get(option)) - } - return res + b.buildConfigOptionsStructures() + return b.configOptions } // GetConfigOptionValues returns an OrderedMap of possible values for a specific configuratio options // for this board. The returned map will have key and value as option value and option value name, // respectively. func (b *Board) GetConfigOptionValues(option string) *properties.Map { - res := properties.NewMap() - menu := b.Properties.SubTree("menu").SubTree(option) - for _, value := range menu.FirstLevelKeys() { - if label, ok := menu.GetOk(value); ok { - res.Set(value, label) - } - } - return res + b.buildConfigOptionsStructures() + return b.configOptionValues[option] } // GetBuildProperties returns the build properties and the build // platform for the Board with the configuration passed as parameter. func (b *Board) GetBuildProperties(userConfigs *properties.Map) (*properties.Map, error) { - // Clone user configs because they are destroyed during iteration - userConfigs = userConfigs.Clone() + b.buildConfigOptionsStructures() + + // Override default configs with user configs + config := b.defaultConfig.Clone() + config.Merge(userConfigs) // Start with board's base properties buildProperties := b.Properties.Clone() // Add all sub-configurations one by one (a config is: option=value) - menu := b.Properties.SubTree("menu") - for _, option := range menu.FirstLevelKeys() { - optionMenu := menu.SubTree(option) - userValue, haveUserValue := userConfigs.GetOk(option) - if haveUserValue { - userConfigs.Remove(option) - if !optionMenu.ContainsKey(userValue) { - return nil, fmt.Errorf(tr("invalid value '%[1]s' for option '%[2]s'"), userValue, option) - } - } else { - // apply default - userValue = optionMenu.FirstLevelKeys()[0] - } - - optionsConf := optionMenu.SubTree(userValue) - buildProperties.Merge(optionsConf) - } - // Check for residual invalid options... - if invalidKeys := userConfigs.Keys(); len(invalidKeys) > 0 { - invalidOption := invalidKeys[0] - if invalidOption == "" { + for option, value := range config.AsMap() { + if option == "" { return nil, fmt.Errorf(tr("invalid empty option found")) } - return nil, fmt.Errorf(tr("invalid option '%s'"), invalidOption) + if _, ok := b.configOptions.GetOk(option); !ok { + return nil, fmt.Errorf(tr("invalid option '%s'"), option) + } + optionsConf, ok := b.configOptionProperties[option+"="+value] + if !ok { + return nil, fmt.Errorf(tr("invalid value '%[1]s' for option '%[2]s'"), value, option) + } + buildProperties.Merge(optionsConf) } return buildProperties, nil @@ -153,7 +165,7 @@ func (b *Board) GetIdentificationProperties() []*properties.Map { } // IsBoardMatchingIDProperties returns true if the board match the given -// identification properties +// upload port identification properties func (b *Board) IsBoardMatchingIDProperties(query *properties.Map) bool { // check checks if the given set of properties p match the "query" check := func(p *properties.Map) bool { @@ -179,3 +191,40 @@ func (b *Board) IsBoardMatchingIDProperties(query *properties.Map) bool { func GetMonitorSettings(protocol string, boardProperties *properties.Map) *properties.Map { return boardProperties.SubTree("monitor_port." + protocol) } + +// IdentifyBoardConfiguration returns the configuration of the board that can be +// deduced from the given upload port identification properties +func (b *Board) IdentifyBoardConfiguration(query *properties.Map) *properties.Map { + // check checks if the given set of properties p match the "query" + check := func(p *properties.Map) bool { + for k, v := range p.AsMap() { + if !strings.EqualFold(query.Get(k), v) { + return false + } + } + return true + } + checkAll := func(allP []*properties.Map) bool { + for _, p := range allP { + if check(p) { + return true + } + } + return false + } + + res := properties.NewMap() + for _, option := range b.GetConfigOptions().Keys() { + values := b.GetConfigOptionValues(option).Keys() + + for _, value := range values { + config := option + "=" + value + configProps := b.configOptionProperties[config] + + if checkAll(configProps.ExtractSubIndexSets("upload_port")) { + res.Set(option, value) + } + } + } + return res +} diff --git a/arduino/cores/board_test.go b/arduino/cores/board_test.go index 3eeb35d16a2..a0665e26c5f 100644 --- a/arduino/cores/board_test.go +++ b/arduino/cores/board_test.go @@ -22,36 +22,40 @@ import ( "github.com/stretchr/testify/require" ) +var boardUnoProperties = properties.NewMap() + +func init() { + boardUnoProperties.Set("name", "Arduino/Genuino Uno") + boardUnoProperties.Set("vid.0", "0x2341") + boardUnoProperties.Set("pid.0", "0x0043") + boardUnoProperties.Set("vid.1", "0x2341") + boardUnoProperties.Set("pid.1", "0x0001") + boardUnoProperties.Set("vid.2", "0x2A03") + boardUnoProperties.Set("pid.2", "0x0043") + boardUnoProperties.Set("vid.3", "0x2341") + boardUnoProperties.Set("pid.3", "0x0243") + boardUnoProperties.Set("upload.tool", "avrdude") + boardUnoProperties.Set("upload.protocol", "arduino") + boardUnoProperties.Set("upload.maximum_size", "32256") + boardUnoProperties.Set("upload.maximum_data_size", "2048") + boardUnoProperties.Set("upload.speed", "115200") + boardUnoProperties.Set("bootloader.tool", "avrdude") + boardUnoProperties.Set("bootloader.low_fuses", "0xFF") + boardUnoProperties.Set("bootloader.high_fuses", "0xDE") + boardUnoProperties.Set("bootloader.extended_fuses", "0xFD") + boardUnoProperties.Set("bootloader.unlock_bits", "0x3F") + boardUnoProperties.Set("bootloader.lock_bits", "0x0F") + boardUnoProperties.Set("bootloader.file", "optiboot/optiboot_atmega328.hex") + boardUnoProperties.Set("build.mcu", "atmega328p") + boardUnoProperties.Set("build.f_cpu", "16000000L") + boardUnoProperties.Set("build.board", "AVR_UNO") + boardUnoProperties.Set("build.core", "arduino") + boardUnoProperties.Set("build.variant", "standard") +} + var boardUno = &Board{ - BoardID: "uno", - Properties: properties.NewFromHashmap(map[string]string{ - "name": "Arduino/Genuino Uno", - "vid.0": "0x2341", - "pid.0": "0x0043", - "vid.1": "0x2341", - "pid.1": "0x0001", - "vid.2": "0x2A03", - "pid.2": "0x0043", - "vid.3": "0x2341", - "pid.3": "0x0243", - "upload.tool": "avrdude", - "upload.protocol": "arduino", - "upload.maximum_size": "32256", - "upload.maximum_data_size": "2048", - "upload.speed": "115200", - "bootloader.tool": "avrdude", - "bootloader.low_fuses": "0xFF", - "bootloader.high_fuses": "0xDE", - "bootloader.extended_fuses": "0xFD", - "bootloader.unlock_bits": "0x3F", - "bootloader.lock_bits": "0x0F", - "bootloader.file": "optiboot/optiboot_atmega328.hex", - "build.mcu": "atmega328p", - "build.f_cpu": "16000000L", - "build.board": "AVR_UNO", - "build.core": "arduino", - "build.variant": "standard", - }), + BoardID: "uno", + Properties: boardUnoProperties, PlatformRelease: &PlatformRelease{ Platform: &Platform{ Architecture: "avr", @@ -59,54 +63,60 @@ var boardUno = &Board{ Name: "arduino", }, }, + Menus: properties.NewMap(), }, } +var boardMegaProperties = properties.NewMap() + +func init() { + boardMegaProperties.Set("name", "Arduino/Genuino Mega or Mega 2560") + boardMegaProperties.Set("vid.0", "0x2341") + boardMegaProperties.Set("pid.0", "0x0010") + boardMegaProperties.Set("vid.1", "0x2341") + boardMegaProperties.Set("pid.1", "0x0042") + boardMegaProperties.Set("vid.2", "0x2A03") + boardMegaProperties.Set("pid.2", "0x0010") + boardMegaProperties.Set("vid.3", "0x2A03") + boardMegaProperties.Set("pid.3", "0x0042") + boardMegaProperties.Set("vid.4", "0x2341") + boardMegaProperties.Set("pid.4", "0x0210") + boardMegaProperties.Set("vid.5", "0x2341") + boardMegaProperties.Set("pid.5", "0x0242") + boardMegaProperties.Set("upload.tool", "avrdude") + boardMegaProperties.Set("upload.maximum_data_size", "8192") + boardMegaProperties.Set("bootloader.tool", "avrdude") + boardMegaProperties.Set("bootloader.low_fuses", "0xFF") + boardMegaProperties.Set("bootloader.unlock_bits", "0x3F") + boardMegaProperties.Set("bootloader.lock_bits", "0x0F") + boardMegaProperties.Set("build.f_cpu", "16000000L") + boardMegaProperties.Set("build.core", "arduino") + boardMegaProperties.Set("build.variant", "mega") + boardMegaProperties.Set("build.board", "AVR_MEGA2560") + boardMegaProperties.Set("menu.cpu.atmega2560", "ATmega2560 (Mega 2560)") + boardMegaProperties.Set("menu.cpu.atmega2560.upload.protocol", "wiring") + boardMegaProperties.Set("menu.cpu.atmega2560.upload.maximum_size", "253952") + boardMegaProperties.Set("menu.cpu.atmega2560.upload.speed", "115200") + boardMegaProperties.Set("menu.cpu.atmega2560.bootloader.high_fuses", "0xD8") + boardMegaProperties.Set("menu.cpu.atmega2560.bootloader.extended_fuses", "0xFD") + boardMegaProperties.Set("menu.cpu.atmega2560.bootloader.file", "stk500v2/stk500boot_v2_mega2560.hex") + boardMegaProperties.Set("menu.cpu.atmega2560.build.mcu", "atmega2560") + boardMegaProperties.Set("menu.cpu.atmega2560.build.board", "AVR_MEGA2560") + boardMegaProperties.Set("menu.cpu.atmega1280", "ATmega1280") + boardMegaProperties.Set("menu.cpu.atmega1280.upload.protocol", "arduino") + boardMegaProperties.Set("menu.cpu.atmega1280.upload.maximum_size", "126976") + boardMegaProperties.Set("menu.cpu.atmega1280.upload.speed", "57600") + boardMegaProperties.Set("menu.cpu.atmega1280.bootloader.high_fuses", "0xDA") + boardMegaProperties.Set("menu.cpu.atmega1280.bootloader.extended_fuses", "0xF5") + boardMegaProperties.Set("menu.cpu.atmega1280.bootloader.file", "atmega/ATmegaBOOT_168_atmega1280.hex") + boardMegaProperties.Set("menu.cpu.atmega1280.build.mcu", "atmega1280") + boardMegaProperties.Set("menu.cpu.atmega1280.build.board", "AVR_MEGA") +} + var boardMega = &Board{ - BoardID: "mega", - Properties: properties.NewFromHashmap(map[string]string{ - "name": "Arduino/Genuino Mega or Mega 2560", - "vid.0": "0x2341", - "pid.0": "0x0010", - "vid.1": "0x2341", - "pid.1": "0x0042", - "vid.2": "0x2A03", - "pid.2": "0x0010", - "vid.3": "0x2A03", - "pid.3": "0x0042", - "vid.4": "0x2341", - "pid.4": "0x0210", - "vid.5": "0x2341", - "pid.5": "0x0242", - "upload.tool": "avrdude", - "upload.maximum_data_size": "8192", - "bootloader.tool": "avrdude", - "bootloader.low_fuses": "0xFF", - "bootloader.unlock_bits": "0x3F", - "bootloader.lock_bits": "0x0F", - "build.f_cpu": "16000000L", - "build.core": "arduino", - "build.variant": "mega", - "build.board": "AVR_MEGA2560", - "menu.cpu.atmega2560": "ATmega2560 (Mega 2560)", - "menu.cpu.atmega2560.upload.protocol": "wiring", - "menu.cpu.atmega2560.upload.maximum_size": "253952", - "menu.cpu.atmega2560.upload.speed": "115200", - "menu.cpu.atmega2560.bootloader.high_fuses": "0xD8", - "menu.cpu.atmega2560.bootloader.extended_fuses": "0xFD", - "menu.cpu.atmega2560.bootloader.file": "stk500v2/stk500boot_v2_mega2560.hex", - "menu.cpu.atmega2560.build.mcu": "atmega2560", - "menu.cpu.atmega2560.build.board": "AVR_MEGA2560", - "menu.cpu.atmega1280": "ATmega1280", - "menu.cpu.atmega1280.upload.protocol": "arduino", - "menu.cpu.atmega1280.upload.maximum_size": "126976", - "menu.cpu.atmega1280.upload.speed": "57600", - "menu.cpu.atmega1280.bootloader.high_fuses": "0xDA", - "menu.cpu.atmega1280.bootloader.extended_fuses": "0xF5", - "menu.cpu.atmega1280.bootloader.file": "atmega/ATmegaBOOT_168_atmega1280.hex", - "menu.cpu.atmega1280.build.mcu": "atmega1280", - "menu.cpu.atmega1280.build.board": "AVR_MEGA", - }), + BoardID: "mega", + Properties: boardMegaProperties, + PlatformRelease: &PlatformRelease{ Platform: &Platform{ Architecture: "avr", @@ -114,39 +124,47 @@ var boardMega = &Board{ Name: "arduino", }, }, + Menus: properties.NewFromHashmap(map[string]string{ + "cpu": "Processor", + }), }, } +var boardWatterottTiny841Properties = properties.NewMap() + +func init() { + boardWatterottTiny841Properties.Set("name", "ATtiny841 (8 MHz)") + boardWatterottTiny841Properties.Set("menu.core.arduino", "Standard Arduino") + boardWatterottTiny841Properties.Set("menu.core.arduino.build.core", "arduino:arduino") + boardWatterottTiny841Properties.Set("menu.core.arduino.build.variant", "tiny14") + boardWatterottTiny841Properties.Set("menu.core.spencekonde", "ATtiny841 (by Spence Konde)") + boardWatterottTiny841Properties.Set("menu.core.spencekonde.build.core", "tiny841") + boardWatterottTiny841Properties.Set("menu.core.spencekonde.build.variant", "tiny14") + boardWatterottTiny841Properties.Set("menu.info.info", "Press Reset, when Uploading is shown.") + boardWatterottTiny841Properties.Set("vid.0", "0x16D0") + boardWatterottTiny841Properties.Set("pid.0", "0x0753") + boardWatterottTiny841Properties.Set("bootloader.tool", "avrdude") + boardWatterottTiny841Properties.Set("bootloader.low_fuses", "0xE2") + boardWatterottTiny841Properties.Set("bootloader.high_fuses", "0xDD") + boardWatterottTiny841Properties.Set("bootloader.extended_fuses", "0xFE") + boardWatterottTiny841Properties.Set("bootloader.unlock_bits", "0xFF") + boardWatterottTiny841Properties.Set("bootloader.lock_bits", "0xFF") + boardWatterottTiny841Properties.Set("bootloader.file", "micronucleus-t841.hex") + boardWatterottTiny841Properties.Set("upload.tool", "micronucleus") + boardWatterottTiny841Properties.Set("upload.protocol", "usb") + boardWatterottTiny841Properties.Set("upload.wait_for_upload_port", "false") + boardWatterottTiny841Properties.Set("upload.use_1200bps_touch", "false") + boardWatterottTiny841Properties.Set("upload.disable_flushing", "false") + boardWatterottTiny841Properties.Set("upload.maximum_size", "6500") + boardWatterottTiny841Properties.Set("build.mcu", "attiny841") + boardWatterottTiny841Properties.Set("build.f_cpu", "8000000L") + boardWatterottTiny841Properties.Set("build.board", "AVR_ATTINY841") + +} + var boardWatterottTiny841 = &Board{ - BoardID: "attiny841", - Properties: properties.NewFromHashmap(map[string]string{ - "name": "ATtiny841 (8 MHz)", - "menu.core.arduino": "Standard Arduino", - "menu.core.arduino.build.core": "arduino:arduino", - "menu.core.arduino.build.variant": "tiny14", - "menu.core.spencekonde": "ATtiny841 (by Spence Konde)", - "menu.core.spencekonde.build.core": "tiny841", - "menu.core.spencekonde.build.variant": "tiny14", - "menu.info.info": "Press Reset, when Uploading is shown.", - "vid.0": "0x16D0", - "pid.0": "0x0753", - "bootloader.tool": "avrdude", - "bootloader.low_fuses": "0xE2", - "bootloader.high_fuses": "0xDD", - "bootloader.extended_fuses": "0xFE", - "bootloader.unlock_bits": "0xFF", - "bootloader.lock_bits": "0xFF", - "bootloader.file": "micronucleus-t841.hex", - "upload.tool": "micronucleus", - "upload.protocol": "usb", - "upload.wait_for_upload_port": "false", - "upload.use_1200bps_touch": "false", - "upload.disable_flushing": "false", - "upload.maximum_size": "6500", - "build.mcu": "attiny841", - "build.f_cpu": "8000000L", - "build.board": "AVR_ATTINY841", - }), + BoardID: "attiny841", + Properties: boardWatterottTiny841Properties, PlatformRelease: &PlatformRelease{ Platform: &Platform{ Architecture: "avr", @@ -154,6 +172,10 @@ var boardWatterottTiny841 = &Board{ Name: "watterott", }, }, + Menus: properties.NewFromHashmap(map[string]string{ + "core": "Core", + "info": "Info", + }), }, } @@ -186,111 +208,114 @@ func TestBoard(t *testing.T) { } func TestBoardOptions(t *testing.T) { - expConf2560 := properties.NewFromHashmap(map[string]string{ - "bootloader.extended_fuses": "0xFD", - "bootloader.file": "stk500v2/stk500boot_v2_mega2560.hex", - "bootloader.high_fuses": "0xD8", - "bootloader.lock_bits": "0x0F", - "bootloader.low_fuses": "0xFF", - "bootloader.tool": "avrdude", - "bootloader.unlock_bits": "0x3F", - "build.board": "AVR_MEGA2560", - "build.core": "arduino", - "build.f_cpu": "16000000L", - "build.mcu": "atmega2560", - "build.variant": "mega", - "menu.cpu.atmega1280": "ATmega1280", - "menu.cpu.atmega1280.bootloader.extended_fuses": "0xF5", - "menu.cpu.atmega1280.bootloader.file": "atmega/ATmegaBOOT_168_atmega1280.hex", - "menu.cpu.atmega1280.bootloader.high_fuses": "0xDA", - "menu.cpu.atmega1280.build.board": "AVR_MEGA", - "menu.cpu.atmega1280.build.mcu": "atmega1280", - "menu.cpu.atmega1280.upload.maximum_size": "126976", - "menu.cpu.atmega1280.upload.protocol": "arduino", - "menu.cpu.atmega1280.upload.speed": "57600", - "menu.cpu.atmega2560": "ATmega2560 (Mega 2560)", - "menu.cpu.atmega2560.bootloader.extended_fuses": "0xFD", - "menu.cpu.atmega2560.bootloader.file": "stk500v2/stk500boot_v2_mega2560.hex", - "menu.cpu.atmega2560.bootloader.high_fuses": "0xD8", - "menu.cpu.atmega2560.build.board": "AVR_MEGA2560", - "menu.cpu.atmega2560.build.mcu": "atmega2560", - "menu.cpu.atmega2560.upload.maximum_size": "253952", - "menu.cpu.atmega2560.upload.protocol": "wiring", - "menu.cpu.atmega2560.upload.speed": "115200", - "name": "Arduino/Genuino Mega or Mega 2560", - "pid.0": "0x0010", - "pid.1": "0x0042", - "pid.2": "0x0010", - "pid.3": "0x0042", - "pid.4": "0x0210", - "pid.5": "0x0242", - "upload.maximum_data_size": "8192", - "upload.maximum_size": "253952", - "upload.protocol": "wiring", - "upload.speed": "115200", - "upload.tool": "avrdude", - "vid.0": "0x2341", - "vid.1": "0x2341", - "vid.2": "0x2A03", - "vid.3": "0x2A03", - "vid.4": "0x2341", - "vid.5": "0x2341", - }) + expConf2560 := properties.NewMap() + expConf2560.Set("bootloader.extended_fuses", "0xFD") + expConf2560.Set("bootloader.file", "stk500v2/stk500boot_v2_mega2560.hex") + expConf2560.Set("bootloader.high_fuses", "0xD8") + expConf2560.Set("bootloader.lock_bits", "0x0F") + expConf2560.Set("bootloader.low_fuses", "0xFF") + expConf2560.Set("bootloader.tool", "avrdude") + expConf2560.Set("bootloader.unlock_bits", "0x3F") + expConf2560.Set("build.board", "AVR_MEGA2560") + expConf2560.Set("build.core", "arduino") + expConf2560.Set("build.f_cpu", "16000000L") + expConf2560.Set("build.mcu", "atmega2560") + expConf2560.Set("build.variant", "mega") + expConf2560.Set("menu.cpu.atmega1280", "ATmega1280") + expConf2560.Set("menu.cpu.atmega1280.bootloader.extended_fuses", "0xF5") + expConf2560.Set("menu.cpu.atmega1280.bootloader.file", "atmega/ATmegaBOOT_168_atmega1280.hex") + expConf2560.Set("menu.cpu.atmega1280.bootloader.high_fuses", "0xDA") + expConf2560.Set("menu.cpu.atmega1280.build.board", "AVR_MEGA") + expConf2560.Set("menu.cpu.atmega1280.build.mcu", "atmega1280") + expConf2560.Set("menu.cpu.atmega1280.upload.maximum_size", "126976") + expConf2560.Set("menu.cpu.atmega1280.upload.protocol", "arduino") + expConf2560.Set("menu.cpu.atmega1280.upload.speed", "57600") + expConf2560.Set("menu.cpu.atmega2560", "ATmega2560 (Mega 2560)") + expConf2560.Set("menu.cpu.atmega2560.bootloader.extended_fuses", "0xFD") + expConf2560.Set("menu.cpu.atmega2560.bootloader.file", "stk500v2/stk500boot_v2_mega2560.hex") + expConf2560.Set("menu.cpu.atmega2560.bootloader.high_fuses", "0xD8") + expConf2560.Set("menu.cpu.atmega2560.build.board", "AVR_MEGA2560") + expConf2560.Set("menu.cpu.atmega2560.build.mcu", "atmega2560") + expConf2560.Set("menu.cpu.atmega2560.upload.maximum_size", "253952") + expConf2560.Set("menu.cpu.atmega2560.upload.protocol", "wiring") + expConf2560.Set("menu.cpu.atmega2560.upload.speed", "115200") + expConf2560.Set("name", "Arduino/Genuino Mega or Mega 2560") + expConf2560.Set("pid.0", "0x0010") + expConf2560.Set("pid.1", "0x0042") + expConf2560.Set("pid.2", "0x0010") + expConf2560.Set("pid.3", "0x0042") + expConf2560.Set("pid.4", "0x0210") + expConf2560.Set("pid.5", "0x0242") + expConf2560.Set("upload.maximum_data_size", "8192") + expConf2560.Set("upload.maximum_size", "253952") + expConf2560.Set("upload.protocol", "wiring") + expConf2560.Set("upload.speed", "115200") + expConf2560.Set("upload.tool", "avrdude") + expConf2560.Set("vid.0", "0x2341") + expConf2560.Set("vid.1", "0x2341") + expConf2560.Set("vid.2", "0x2A03") + expConf2560.Set("vid.3", "0x2A03") + expConf2560.Set("vid.4", "0x2341") + expConf2560.Set("vid.5", "0x2341") conf2560, err := boardMega.GeneratePropertiesForConfiguration("cpu=atmega2560") require.NoError(t, err, "generating cpu=atmega2560 configuration") require.EqualValues(t, expConf2560.AsMap(), conf2560.AsMap(), "configuration for cpu=atmega2560") - - expConf1280 := properties.NewFromHashmap(map[string]string{ - "bootloader.extended_fuses": "0xF5", - "bootloader.file": "atmega/ATmegaBOOT_168_atmega1280.hex", - "bootloader.high_fuses": "0xDA", - "bootloader.lock_bits": "0x0F", - "bootloader.low_fuses": "0xFF", - "bootloader.tool": "avrdude", - "bootloader.unlock_bits": "0x3F", - "build.board": "AVR_MEGA", - "build.core": "arduino", - "build.f_cpu": "16000000L", - "build.mcu": "atmega1280", - "build.variant": "mega", - "menu.cpu.atmega1280": "ATmega1280", - "menu.cpu.atmega1280.bootloader.extended_fuses": "0xF5", - "menu.cpu.atmega1280.bootloader.file": "atmega/ATmegaBOOT_168_atmega1280.hex", - "menu.cpu.atmega1280.bootloader.high_fuses": "0xDA", - "menu.cpu.atmega1280.build.board": "AVR_MEGA", - "menu.cpu.atmega1280.build.mcu": "atmega1280", - "menu.cpu.atmega1280.upload.maximum_size": "126976", - "menu.cpu.atmega1280.upload.protocol": "arduino", - "menu.cpu.atmega1280.upload.speed": "57600", - "menu.cpu.atmega2560": "ATmega2560 (Mega 2560)", - "menu.cpu.atmega2560.bootloader.extended_fuses": "0xFD", - "menu.cpu.atmega2560.bootloader.file": "stk500v2/stk500boot_v2_mega2560.hex", - "menu.cpu.atmega2560.bootloader.high_fuses": "0xD8", - "menu.cpu.atmega2560.build.board": "AVR_MEGA2560", - "menu.cpu.atmega2560.build.mcu": "atmega2560", - "menu.cpu.atmega2560.upload.maximum_size": "253952", - "menu.cpu.atmega2560.upload.protocol": "wiring", - "menu.cpu.atmega2560.upload.speed": "115200", - "name": "Arduino/Genuino Mega or Mega 2560", - "pid.0": "0x0010", - "pid.1": "0x0042", - "pid.2": "0x0010", - "pid.3": "0x0042", - "pid.4": "0x0210", - "pid.5": "0x0242", - "upload.maximum_data_size": "8192", - "upload.maximum_size": "126976", - "upload.protocol": "arduino", - "upload.speed": "57600", - "upload.tool": "avrdude", - "vid.0": "0x2341", - "vid.1": "0x2341", - "vid.2": "0x2A03", - "vid.3": "0x2A03", - "vid.4": "0x2341", - "vid.5": "0x2341", - }) + require.EqualValues(t, map[string]string{"cpu": "Processor"}, boardMega.GetConfigOptions().AsMap()) + require.EqualValues(t, map[string]string{ + "atmega1280": "ATmega1280", + "atmega2560": "ATmega2560 (Mega 2560)", + }, boardMega.GetConfigOptionValues("cpu").AsMap()) + require.EqualValues(t, map[string]string{"cpu": "atmega2560"}, boardMega.defaultConfig.AsMap()) + expConf1280 := properties.NewMap() + expConf1280.Set("bootloader.extended_fuses", "0xF5") + expConf1280.Set("bootloader.file", "atmega/ATmegaBOOT_168_atmega1280.hex") + expConf1280.Set("bootloader.high_fuses", "0xDA") + expConf1280.Set("bootloader.lock_bits", "0x0F") + expConf1280.Set("bootloader.low_fuses", "0xFF") + expConf1280.Set("bootloader.tool", "avrdude") + expConf1280.Set("bootloader.unlock_bits", "0x3F") + expConf1280.Set("build.board", "AVR_MEGA") + expConf1280.Set("build.core", "arduino") + expConf1280.Set("build.f_cpu", "16000000L") + expConf1280.Set("build.mcu", "atmega1280") + expConf1280.Set("build.variant", "mega") + expConf1280.Set("menu.cpu.atmega1280", "ATmega1280") + expConf1280.Set("menu.cpu.atmega1280.bootloader.extended_fuses", "0xF5") + expConf1280.Set("menu.cpu.atmega1280.bootloader.file", "atmega/ATmegaBOOT_168_atmega1280.hex") + expConf1280.Set("menu.cpu.atmega1280.bootloader.high_fuses", "0xDA") + expConf1280.Set("menu.cpu.atmega1280.build.board", "AVR_MEGA") + expConf1280.Set("menu.cpu.atmega1280.build.mcu", "atmega1280") + expConf1280.Set("menu.cpu.atmega1280.upload.maximum_size", "126976") + expConf1280.Set("menu.cpu.atmega1280.upload.protocol", "arduino") + expConf1280.Set("menu.cpu.atmega1280.upload.speed", "57600") + expConf1280.Set("menu.cpu.atmega2560", "ATmega2560 (Mega 2560)") + expConf1280.Set("menu.cpu.atmega2560.bootloader.extended_fuses", "0xFD") + expConf1280.Set("menu.cpu.atmega2560.bootloader.file", "stk500v2/stk500boot_v2_mega2560.hex") + expConf1280.Set("menu.cpu.atmega2560.bootloader.high_fuses", "0xD8") + expConf1280.Set("menu.cpu.atmega2560.build.board", "AVR_MEGA2560") + expConf1280.Set("menu.cpu.atmega2560.build.mcu", "atmega2560") + expConf1280.Set("menu.cpu.atmega2560.upload.maximum_size", "253952") + expConf1280.Set("menu.cpu.atmega2560.upload.protocol", "wiring") + expConf1280.Set("menu.cpu.atmega2560.upload.speed", "115200") + expConf1280.Set("name", "Arduino/Genuino Mega or Mega 2560") + expConf1280.Set("pid.0", "0x0010") + expConf1280.Set("pid.1", "0x0042") + expConf1280.Set("pid.2", "0x0010") + expConf1280.Set("pid.3", "0x0042") + expConf1280.Set("pid.4", "0x0210") + expConf1280.Set("pid.5", "0x0242") + expConf1280.Set("upload.maximum_data_size", "8192") + expConf1280.Set("upload.maximum_size", "126976") + expConf1280.Set("upload.protocol", "arduino") + expConf1280.Set("upload.speed", "57600") + expConf1280.Set("upload.tool", "avrdude") + expConf1280.Set("vid.0", "0x2341") + expConf1280.Set("vid.1", "0x2341") + expConf1280.Set("vid.2", "0x2A03") + expConf1280.Set("vid.3", "0x2A03") + expConf1280.Set("vid.4", "0x2341") + expConf1280.Set("vid.5", "0x2341") conf1280, err := boardMega.GeneratePropertiesForConfiguration("cpu=atmega1280") require.NoError(t, err, "generating cpu=atmega1280 configuration") require.EqualValues(t, expConf1280.AsMap(), conf1280.AsMap(), "configuration for cpu=atmega1280") @@ -301,36 +326,35 @@ func TestBoardOptions(t *testing.T) { _, err = boardUno.GeneratePropertiesForConfiguration("cpu=atmega1280") require.Error(t, err, "generating cpu=atmega1280 configuration") - expWatterott := properties.NewFromHashmap(map[string]string{ - "bootloader.extended_fuses": "0xFE", - "bootloader.file": "micronucleus-t841.hex", - "bootloader.high_fuses": "0xDD", - "bootloader.lock_bits": "0xFF", - "bootloader.low_fuses": "0xE2", - "bootloader.tool": "avrdude", - "bootloader.unlock_bits": "0xFF", - "build.board": "AVR_ATTINY841", - "build.core": "tiny841", - "build.f_cpu": "8000000L", - "build.mcu": "attiny841", - "build.variant": "tiny14", - "menu.core.arduino": "Standard Arduino", - "menu.core.arduino.build.core": "arduino:arduino", - "menu.core.arduino.build.variant": "tiny14", - "menu.core.spencekonde": "ATtiny841 (by Spence Konde)", - "menu.core.spencekonde.build.core": "tiny841", - "menu.core.spencekonde.build.variant": "tiny14", - "menu.info.info": "Press Reset, when Uploading is shown.", - "name": "ATtiny841 (8 MHz)", - "pid.0": "0x0753", - "upload.disable_flushing": "false", - "upload.maximum_size": "6500", - "upload.protocol": "usb", - "upload.tool": "micronucleus", - "upload.use_1200bps_touch": "false", - "upload.wait_for_upload_port": "false", - "vid.0": "0x16D0", - }) + expWatterott := properties.NewMap() + expWatterott.Set("bootloader.extended_fuses", "0xFE") + expWatterott.Set("bootloader.file", "micronucleus-t841.hex") + expWatterott.Set("bootloader.high_fuses", "0xDD") + expWatterott.Set("bootloader.lock_bits", "0xFF") + expWatterott.Set("bootloader.low_fuses", "0xE2") + expWatterott.Set("bootloader.tool", "avrdude") + expWatterott.Set("bootloader.unlock_bits", "0xFF") + expWatterott.Set("build.board", "AVR_ATTINY841") + expWatterott.Set("build.core", "tiny841") + expWatterott.Set("build.f_cpu", "8000000L") + expWatterott.Set("build.mcu", "attiny841") + expWatterott.Set("build.variant", "tiny14") + expWatterott.Set("menu.core.arduino", "Standard Arduino") + expWatterott.Set("menu.core.arduino.build.core", "arduino:arduino") + expWatterott.Set("menu.core.arduino.build.variant", "tiny14") + expWatterott.Set("menu.core.spencekonde", "ATtiny841 (by Spence Konde)") + expWatterott.Set("menu.core.spencekonde.build.core", "tiny841") + expWatterott.Set("menu.core.spencekonde.build.variant", "tiny14") + expWatterott.Set("menu.info.info", "Press Reset, when Uploading is shown.") + expWatterott.Set("name", "ATtiny841 (8 MHz)") + expWatterott.Set("pid.0", "0x0753") + expWatterott.Set("upload.disable_flushing", "false") + expWatterott.Set("upload.maximum_size", "6500") + expWatterott.Set("upload.protocol", "usb") + expWatterott.Set("upload.tool", "micronucleus") + expWatterott.Set("upload.use_1200bps_touch", "false") + expWatterott.Set("upload.wait_for_upload_port", "false") + expWatterott.Set("vid.0", "0x16D0") confWatterott, err := boardWatterottTiny841.GeneratePropertiesForConfiguration("core=spencekonde,info=info") require.NoError(t, err, "generating core=spencekonde,info=info configuration") require.EqualValues(t, expWatterott.AsMap(), confWatterott.AsMap(), "generating core=spencekonde,info=info configuration") @@ -340,6 +364,47 @@ func TestBoardOptions(t *testing.T) { // fmt.Print(string(data)) } +func TestOSSpecificBoardOptions(t *testing.T) { + boardWihOSSpecificOptionProperties := properties.NewMap() + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.115200", "115200") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.115200.upload.speed", "115200") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.9600", "9600") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.9600.upload.speed", "9600") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.57600", "57600") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.57600.upload.speed", "57600") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.230400", "230400") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.230400.macosx", "230400") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.230400.upload.speed", "230400") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.256000.windows", "256000") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.256000.upload.speed", "256000") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.460800", "460800") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.460800.macosx", "460800") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.460800.upload.speed", "460800") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.512000.windows", "512000") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.512000.upload.speed", "512000") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.921600", "921600") + boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.921600.upload.speed", "921600") + + boardWithOSSpecificOptions := &Board{ + BoardID: "test", + Properties: boardWihOSSpecificOptionProperties, + PlatformRelease: &PlatformRelease{ + Platform: &Platform{ + Architecture: "test", + Package: &Package{ + Name: "test", + }, + }, + Menus: properties.NewFromHashmap(map[string]string{ + "UploadSpeed": "Upload Speed", + }), + }, + } + + _, err := boardWithOSSpecificOptions.GeneratePropertiesForConfiguration("UploadSpeed=256000") + require.Error(t, err) +} + func TestBoardMatching(t *testing.T) { brd01 := &Board{ Properties: properties.NewFromHashmap(map[string]string{ @@ -489,3 +554,81 @@ func TestBoardMatching(t *testing.T) { "lemons": "XXX", }))) } + +func TestBoardConfigMatching(t *testing.T) { + brd01 := &Board{ + Properties: properties.NewFromHashmap(map[string]string{ + "upload_port.pid": "0x0010", + "upload_port.vid": "0x2341", + "menu.cpu.atmega1280": "ATmega1280", + "menu.cpu.atmega1280.upload_port.cpu": "atmega1280", + "menu.cpu.atmega1280.build_cpu": "atmega1280", + "menu.cpu.atmega2560": "ATmega2560", + "menu.cpu.atmega2560.upload_port.cpu": "atmega2560", + "menu.cpu.atmega2560.build_cpu": "atmega2560", + "menu.mem.1k": "1KB", + "menu.mem.1k.upload_port.mem": "1", + "menu.mem.1k.build_mem": "1024", + "menu.mem.2k": "2KB", + "menu.mem.2k.upload_port.1.mem": "2", + "menu.mem.2k.upload_port.2.ab": "ef", + "menu.mem.2k.upload_port.2.cd": "gh", + "menu.mem.2k.build_mem": "2048", + }), + PlatformRelease: &PlatformRelease{ + Platform: &Platform{ + Architecture: "avr", + Package: &Package{ + Name: "arduino", + }, + }, + Menus: properties.NewFromHashmap(map[string]string{ + "cpu": "Processor", + "mem": "Memory", + }), + }, + } + + type m map[string]string + type Test struct { + testName string + identificationProps map[string]string + configOutput map[string]string + } + + tests := []Test{ + {"Simple", + m{"pid": "0x0010", "vid": "0x2341"}, + m{}}, + {"WithConfig1", + m{"pid": "0x0010", "vid": "0x2341", "cpu": "atmega2560"}, + m{"cpu": "atmega2560"}}, + {"WithConfig2", + m{"pid": "0x0010", "vid": "0x2341", "cpu": "atmega1280"}, + m{"cpu": "atmega1280"}}, + {"WithDoubleConfig1", + m{"pid": "0x0010", "vid": "0x2341", "cpu": "atmega1280", "mem": "1"}, + m{"cpu": "atmega1280", "mem": "1k"}}, + {"WithDoubleConfig2", + m{"pid": "0x0010", "vid": "0x2341", "cpu": "atmega1280", "ab": "ef"}, + m{"cpu": "atmega1280"}}, + {"WithDoubleConfig3", + m{"pid": "0x0010", "vid": "0x2341", "cpu": "atmega1280", "ab": "ef", "cd": "gh"}, + m{"cpu": "atmega1280", "mem": "2k"}}, + {"WithIncompleteIdentificationProps", + m{"cpu": "atmega1280"}, + nil}, + } + for _, test := range tests { + t.Run(test.testName, func(t *testing.T) { + identificationProps := properties.NewFromHashmap(test.identificationProps) + if test.configOutput != nil { + require.True(t, brd01.IsBoardMatchingIDProperties(identificationProps)) + config := brd01.IdentifyBoardConfiguration(identificationProps) + require.EqualValues(t, test.configOutput, config.AsMap()) + } else { + require.False(t, brd01.IsBoardMatchingIDProperties(identificationProps)) + } + }) + } +} diff --git a/arduino/cores/packagemanager/identify.go b/arduino/cores/packagemanager/identify.go index b785bf02263..22d8382cd67 100644 --- a/arduino/cores/packagemanager/identify.go +++ b/arduino/cores/packagemanager/identify.go @@ -35,3 +35,12 @@ func (pme *Explorer) IdentifyBoard(idProps *properties.Map) []*cores.Board { return foundBoards } + +// IdentifyBoardConfiguration returns the configuration of the board that can be +// deduced from the given upload port identification properties +func (pm *PackageManager) IdentifyBoardConfiguration(idProps *properties.Map, board *cores.Board) *properties.Map { + if idProps.Size() == 0 { + return properties.NewMap() + } + return board.IdentifyBoardConfiguration(idProps) +} diff --git a/arduino/cores/packagemanager/loader.go b/arduino/cores/packagemanager/loader.go index 298669186fb..462576255ab 100644 --- a/arduino/cores/packagemanager/loader.go +++ b/arduino/cores/packagemanager/loader.go @@ -458,27 +458,27 @@ func (pm *Builder) loadBoards(platform *cores.PlatformRelease) error { } boardsTxtPath := platform.InstallDir.Join("boards.txt") - boardsProperties, err := properties.LoadFromPath(boardsTxtPath) + allBoardsProperties, err := properties.LoadFromPath(boardsTxtPath) if err != nil { return err } boardsLocalTxtPath := platform.InstallDir.Join("boards.local.txt") - if localProperties, err := properties.SafeLoadFromPath(boardsLocalTxtPath); err == nil { - boardsProperties.Merge(localProperties) + if boardsLocalProperties, err := properties.SafeLoadFromPath(boardsLocalTxtPath); err == nil { + allBoardsProperties.Merge(boardsLocalProperties) } else { return err } - platform.Menus = boardsProperties.SubTree("menu") + platform.Menus = allBoardsProperties.SubTree("menu") // Build to boards structure following the boards.txt board ordering - for _, boardID := range boardsProperties.FirstLevelKeys() { + for _, boardID := range allBoardsProperties.FirstLevelKeys() { if boardID == "menu" { // This is not a board id so we remove it to correctly set all other boards properties continue } - boardProperties := boardsProperties.SubTree(boardID) + boardProperties := allBoardsProperties.SubTree(boardID) var board *cores.Board if !platform.PluggableDiscoveryAware { convertVidPidIdentificationPropertiesToPluggableDiscovery(boardProperties) diff --git a/commands/board/list.go b/commands/board/list.go index 1a81a187f85..13f1dbd05ad 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -27,6 +27,7 @@ import ( "time" "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/arduino/discovery" "github.com/arduino/arduino-cli/arduino/httpclient" @@ -124,13 +125,19 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // first query installed cores through the Package Manager logrus.Debug("Querying installed cores for board identification...") for _, board := range pme.IdentifyBoard(port.Properties) { + fqbn, err := cores.ParseFQBN(board.FQBN()) + if err != nil { + return nil, &arduino.InvalidFQBNError{Cause: err} + } + fqbn.Configs = board.IdentifyBoardConfiguration(port.Properties) + // We need the Platform maintaner for sorting so we set it here platform := &rpc.Platform{ Maintainer: board.PlatformRelease.Platform.Package.Maintainer, } boards = append(boards, &rpc.BoardListItem{ Name: board.Name(), - Fqbn: board.FQBN(), + Fqbn: fqbn.String(), Platform: platform, }) } diff --git a/docs/pluggable-discovery-specification.md b/docs/pluggable-discovery-specification.md index e713cb98cdb..16d196c5bf0 100644 --- a/docs/pluggable-discovery-specification.md +++ b/docs/pluggable-discovery-specification.md @@ -377,3 +377,81 @@ myboard.upload_port.1.apples=40 will match on both `pears=20, apples=30` and `pears=30, apples=40` but not `pears=20, apples=40`, in that sense each "set" of identification properties is independent from each other and cannot be mixed for port matching. + +#### Identification of board options + +[Custom board options](platform-specification.md#custom-board-options) can also be identified. + +Identification property values are associated with a custom board option by the board definition in +[`boards.txt`](platform-specification.md#boardstxt). Two formats are available. + +If only a single set of identification properties are associated with the option: + +``` +BOARD_ID.menu.MENU_ID.OPTION_ID.upload_port.PORT_PROPERTY_KEY=PORT_PROPERTY_VALUE +``` + +If one or more sets of identification properties are associated with the option, an index number is used for each set: + +``` +BOARD_ID.menu.MENU_ID.OPTION_ID.upload_port.SET_INDEX.PORT_PROPERTY_KEY=PORT_PROPERTY_VALUE +``` + +If multiple identification properties are associated within a set, all must match for the option to be identified. + +Let's see an example to clarify it, in the following `boards.txt`: + +``` +myboard.upload_port.pid=0x0010 +myboard.upload_port.vid=0x2341 +myboard.menu.cpu.atmega1280=ATmega1280 +myboard.menu.cpu.atmega1280.upload_port.c=atmega1280 <--- identification property for cpu=atmega1280 +myboard.menu.cpu.atmega1280.build_cpu=atmega1280 +myboard.menu.cpu.atmega2560=ATmega2560 +myboard.menu.cpu.atmega2560.upload_port.c=atmega2560 <--- identification property for cpu=atmega2560 +myboard.menu.cpu.atmega2560.build_cpu=atmega2560 +myboard.menu.mem.1k=1KB +myboard.menu.mem.1k.upload_port.mem=1 <--- identification property for mem=1k +myboard.menu.mem.1k.build_mem=1024 +myboard.menu.mem.2k=2KB +myboard.menu.mem.2k.upload_port.1.mem=2 <------ identification property for mem=2k (case 1) +myboard.menu.mem.2k.upload_port.2.ab=ef <---\ +myboard.menu.mem.2k.upload_port.2.cd=gh <---+-- identification property for mem=2k (case 2) +myboard.menu.mem.2k.build_mem=2048 +``` + +we have a board called `myboard` with two custom menu options `cpu` and `mem`. + +A port with the following identification properties: + +``` +vid=0x0010 +pid=0x2341 +c=atmega2560 +``` + +will be identified as FQBN `mypackage:avr:myboard:cpu=atmega2560` because of the property `c=atmega2560`. + +A port with the following identification properties: + +``` +vid=0x0010 +pid=0x2341 +c=atmega2560 +mem=2 +``` + +will be identified as FQBN `mypackage:avr:myboard:cpu=atmega2560,mem=2k`. + +A port with the following identification properties: + +``` +vid=0x0010 +pid=0x2341 +c=atmega2560 +ab=ef +cd=gh +``` + +will be identified as FQBN `mypackage:avr:myboard:cpu=atmega2560,mem=2k` too (they will match the second identification +properties set for `mem=2k`). From 06fb1909437145f43deabb9cc962baf38bfa12eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 17:53:04 +0200 Subject: [PATCH 06/68] [skip-changelog] Updated translation files (#1863) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- i18n/data/ar.po | 307 ++++++++++++++++++++++------------------ i18n/data/de.po | 334 +++++++++++++++++++++++-------------------- i18n/data/es.po | 307 ++++++++++++++++++++++------------------ i18n/data/fr.po | 307 ++++++++++++++++++++++------------------ i18n/data/he.po | 307 ++++++++++++++++++++++------------------ i18n/data/it_IT.po | 314 ++++++++++++++++++++++------------------- i18n/data/ja.po | 307 ++++++++++++++++++++++------------------ i18n/data/ko.po | 307 ++++++++++++++++++++++------------------ i18n/data/pl.po | 338 ++++++++++++++++++++++++-------------------- i18n/data/pt.po | 307 ++++++++++++++++++++++------------------ i18n/data/ru.po | 343 ++++++++++++++++++++++++--------------------- i18n/data/zh.po | 316 ++++++++++++++++++++++------------------- 12 files changed, 2063 insertions(+), 1731 deletions(-) diff --git a/i18n/data/ar.po b/i18n/data/ar.po index 6f325a599c3..8af4521cd56 100644 --- a/i18n/data/ar.po +++ b/i18n/data/ar.po @@ -47,7 +47,7 @@ msgstr "%[1]s , المنافذ : %[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, نسخة البوتوكول : %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" @@ -55,10 +55,6 @@ msgstr "تم تنزيل %s مسبقا" msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s تم تحميله بنجاح" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s تم تثبيته بنجاح" @@ -68,7 +64,7 @@ msgid "%s is already installed." msgstr "%s مثبت مسبقا" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" @@ -84,7 +80,7 @@ msgstr "يجب تثبيت %s" msgid "%s pattern is missing" msgstr "%s النسق مفقود" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" @@ -116,7 +112,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "نسخة جديدة من CLI متوافرة " -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "عليك وصل مبرمجة للرفع" @@ -133,7 +129,7 @@ msgstr "دليل استخدام سطر موجه الاوامر للاردوين msgid "Additional help topics:" msgstr "مواضيع مساعدة اضافية :" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "اضافة قيمة او اكثر الى احد الاعدادات" @@ -145,7 +141,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "كل الانوية محدثة باخر اصدار مسبقا" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "%s مثبت مسبقا" @@ -227,6 +223,18 @@ msgstr "" msgid "Author: %s" msgstr "المؤلف : %s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "متوفر" @@ -266,11 +274,15 @@ msgstr "" "Builds الخاصة ب 'core.a' تحفظ في هذا المسار و سيتم وضعها في الكاش و سيعاد " "استخدامها" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "تعذر انشاء مسار البيانات %s" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "تعذر انشاء المشروع" @@ -283,7 +295,7 @@ msgstr "تعذر تنزيل المكتبة" msgid "Can't find dependencies for platform %s" msgstr "تعذر ايجاد التبعيات للمنصة %s" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "تعذر فتح المشروع" @@ -295,15 +307,15 @@ msgstr "تعذر وضع عدة قيم في المفتاح %v" msgid "Can't use %s flags at the same time." msgstr "تعذر استخدام اعلام (flags) %s في نفس الوقت" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "تعذر كتابة ملف التهيئة : %v" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" @@ -315,11 +327,11 @@ msgstr "تعذر انشاء مسار ملف التهيئة : %v" msgid "Cannot create config file: %v" msgstr "تعذر انشاء ملف التهيئة : %v" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "تعذر انشاء مسار مؤقت" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "تعذر انشاء ملف temp" @@ -335,10 +347,6 @@ msgstr "تعذر تصدير البيانات الوصفية -metadata- للمش msgid "Cannot find absolute path: %v" msgstr "تعذر ايجاد المسار المطلق : %v" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "تعذر ايجاد مسار البرنامج التنفيذي : %v" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "تعذر تثبيت المنصة" @@ -363,7 +371,7 @@ msgstr "الفئة : %s" msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "جار التحقق من المتطلبات الاساسية لتثبيت المكتبات" @@ -454,7 +462,7 @@ msgstr "النواة" msgid "Core name" msgstr "اسم النواة" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" @@ -502,11 +510,11 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "مهملة (غير موصى باستخدامها)" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "Daemon يقوم بالاستماع على %s : %s" @@ -622,7 +630,8 @@ msgstr "يتم تنزيل %s" msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" @@ -689,16 +698,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" @@ -743,7 +752,6 @@ msgid "Error downloading platform %s" msgstr "خطأ اثناء تنزيل المنصة %s" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" @@ -817,7 +825,7 @@ msgstr "خطأ اثناء الحصول من Arduino CLOUD" msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" @@ -834,7 +842,7 @@ msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -878,7 +886,7 @@ msgstr "خطا اثناء انشاء قائمة باللوحات : %v" msgid "Error listing platforms: %v" msgstr "خطأ اثناء انشاء قائمة تحوي جميع المنصات : %v" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "خطا اثناء تحميل منصة الهاردوير" @@ -895,7 +903,7 @@ msgstr "خطأ اثناء تحميل الفهرس %s" msgid "Error opening %s" msgstr "خطأ اثناء فتح %s" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" @@ -907,11 +915,11 @@ msgstr "خطأ اثناء فتح المشروع : %v" msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "خطا اثناء قراءة ملف التهيئة : %v" @@ -956,7 +964,7 @@ msgstr "خطا اثناء البحث عن اللوحات : %v" msgid "Error searching for Library: %v" msgstr "خطأ اثناء البحث عن المكتبة : %v" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "خطأ اثناء البحث عن المنصة : %v" @@ -978,10 +986,6 @@ msgstr "خطا اثناء الغاء تثبيت %[1]s: %[2]v" msgid "Error updating core and libraries index: %v" msgstr "تعذر تحديث النواة و فهرس المكتبات : %v" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "خطأ اثناء تحديث الفهرس :%v" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "خطا اثناء تحديث الفهارس : %v" @@ -1061,7 +1065,7 @@ msgstr "FQBN:" msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "خطا اثناء اختيار المنفذ . عنوانه : %s" @@ -1081,19 +1085,19 @@ msgstr "فشل انشاء مسار البيانات" msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s منفذ غير صالح" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s اسم غير معروف" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير متوقع %[2]v " -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" @@ -1105,7 +1109,7 @@ msgstr "تعذر الرفع" msgid "File:" msgstr "الملف : " -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "اول رسالة يجب ان تحوي على طلب التصحيح و ليس البيانات" @@ -1129,7 +1133,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "تخطي سكربت POST-install اجباريا (تستخدم اذا كان CLI يعمل بشكل متفاعل)" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1185,7 +1189,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1220,7 +1224,7 @@ msgstr "" msgid "Installed" msgstr "تم التنصيب" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "تم تثبيت %s" @@ -1230,7 +1234,7 @@ msgid "Installed version" msgstr "النسخة المثبتة " #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "جار تثبيت %s" @@ -1261,7 +1265,7 @@ msgstr "يقوم بتثبيت مكتبة او اكثر تم تحديدها مس msgid "Internal error in cache" msgstr "خطأ داخلي في الكاش (Internal error in cache)" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1274,11 +1278,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "FBQN غير صالح" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "URL غير صالح" @@ -1307,7 +1311,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1315,7 +1319,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1331,7 +1335,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1343,11 +1347,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "ملف تعريف غير صالح" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1355,11 +1359,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "مهلة غير صالحة" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "نسخة غير صالحة" @@ -1394,12 +1398,16 @@ msgstr "الأخير" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" @@ -1407,7 +1415,7 @@ msgstr "المكتبة %s غير مثبتة" msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "المكتبة '%s' غير موجودة" @@ -1418,11 +1426,11 @@ msgstr "" "المكتبة لا تستطيع استخدام الملفين '%[1]s' 'و' '%[2]s' معا . تحقق مرة اخرى في" " '%[3]s'." -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "فشل تثبيت المكتبة" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "المكتبة مثبتة" @@ -1519,19 +1527,19 @@ msgstr "الرسائل بهذه المرحلة و ما فوق سيتم تسجي msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' مفقود من المكتبة في %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FBQN مفقود (Fully Qualified Board Name)" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "يوجد منفذ مفقود" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "يوجد بروتوكول منفذ مفقود" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "المبرمج مفقود" @@ -1539,11 +1547,11 @@ msgstr "المبرمج مفقود" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "مسار السكتش مفقود" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" @@ -1555,7 +1563,7 @@ msgstr "اعدادات منفذ المراقبة " msgid "Multiple libraries were found for \"%[1]s\"" msgstr "العثور على عدة مكتبات لـ\"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "الاسم" @@ -1593,11 +1601,11 @@ msgstr "" "لا توجد مكتبات متطابقة مع بحثك\n" "هل تقصد...\n" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "لا يوجد مراقب متاح لبرتوكول المنفذ %s" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" @@ -1613,7 +1621,7 @@ msgstr "لا يوجد تحديثات متاحة" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1758,11 +1766,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "تم إلغاء تثبيت المنصة: %s" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1802,13 +1810,13 @@ msgstr "اسم المنصة:" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1822,7 +1830,7 @@ msgstr "منفذ" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1851,11 +1859,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1871,7 +1879,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1887,7 +1895,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "تبديل %[1]s ب %[2]s" @@ -1921,11 +1929,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1945,7 +1953,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1961,11 +1969,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2110,6 +2118,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2126,11 +2138,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2142,6 +2154,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2236,15 +2252,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2252,8 +2268,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "إلغاء تثبيت %s" @@ -2276,7 +2296,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2382,10 +2402,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2441,7 +2460,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2538,7 +2557,7 @@ msgstr "" "تشفير الارشيف يختلف عن تشفير الفهرس (archive hash differs from hash in " "index)" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2588,7 +2607,7 @@ msgstr "تعذر العثور على اخر اصدار من الاداة %s" msgid "can't find main Sketch file in %s" msgstr "تعذر ايحاد ملف المشروع الرئيسي داخل %s" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2646,6 +2665,10 @@ msgstr "" msgid "computing hash: %s" msgstr "جار معالجة التشفير (computing hash) : %s" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" @@ -2654,6 +2677,10 @@ msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build arti msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "جار انشاء installed.json داخل %[1]s : %[2]s" @@ -2680,11 +2707,11 @@ msgstr "التبعية (dependency) '%s' غير متوفرة" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" @@ -2692,11 +2719,11 @@ msgstr "المجلد غير موجود : %s" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2712,6 +2739,10 @@ msgstr "تنزيل نسخة محددة (في هذه الحالة ستكون ال msgid "download the latest version of Arduino SAMD core." msgstr "تنزيل اخر نسخة من Arduino SAMD core" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "جار تنزيل الاداة %[1]s : %[2]s" @@ -2728,7 +2759,7 @@ msgstr "جار تشفير البيانات الوصفية للمشروع (encodi msgid "error loading sketch project file:" msgstr "خطا اثناء تحميل ملفات المشروع :" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "تعذر فتح %s" @@ -2753,7 +2784,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "جار استخراج الارشيف : %s" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "جار استخراج الارشيف : %w" @@ -2805,7 +2836,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2831,7 +2862,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2843,7 +2874,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2907,7 +2938,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2987,24 +3018,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -3022,7 +3053,7 @@ msgstr "" msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "جار تحميل حزمة الادوات من %s" @@ -3031,8 +3062,8 @@ msgstr "جار تحميل حزمة الادوات من %s" msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "جار تحميل المكتبة من %[1]s : %[2]s" @@ -3057,7 +3088,7 @@ msgstr "جار تحميل المنصات المطلوبة %s" msgid "loading required tool %s" msgstr "جار تحميل الادوات المطلوبة %s" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "جار تحميل اصدار الاداة (tool release) في %s" @@ -3096,7 +3127,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" @@ -3117,7 +3148,7 @@ msgstr "تعذر ايجاد اي نسخة من ادوات %s متوافقة مع msgid "no executable specified" msgstr "لم يتم تحديد اي برنامج قابل للتنفيذ (executable)" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3205,7 +3236,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3233,22 +3264,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3268,7 +3299,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3305,7 +3336,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3321,11 +3352,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3345,10 +3376,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3424,7 +3451,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/de.po b/i18n/data/de.po index 73d51be4ee9..36b343a7200 100644 --- a/i18n/data/de.po +++ b/i18n/data/de.po @@ -3,10 +3,11 @@ # Timo, 2021 # Dan H, 2021 # CLI team , 2022 +# Dee Gee, 2022 # msgid "" msgstr "" -"Last-Translator: CLI team , 2022\n" +"Last-Translator: Dee Gee, 2022\n" "Language-Team: German (https://www.transifex.com/arduino-1/teams/108174/de/)\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,7 +50,7 @@ msgstr "%[1]s, Ports: %[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, Protokoll Version: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" @@ -57,10 +58,6 @@ msgstr "%s bereits heruntergeladen" msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s heruntergeladen" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s installiert" @@ -70,7 +67,7 @@ msgid "%s is already installed." msgstr "%s ist bereits installiert." #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" @@ -86,7 +83,7 @@ msgstr "%s muss installiert sein." msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" @@ -116,7 +113,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "Eine neue Version von Arduino CLI ist verfügbar:" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "Zum Hochladen ist ein Programmer benötigt" @@ -133,7 +130,7 @@ msgstr "Arduino CLI Handbuch" msgid "Additional help topics:" msgstr "Weitere Hilfethemen:" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "Fügt einen oder mehrere Werte zu einer Einstellung hinzu." @@ -145,7 +142,7 @@ msgstr "Decknamen:" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "Bereits installiert %s" @@ -225,6 +222,18 @@ msgstr "" msgid "Author: %s" msgstr "Autor: %s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "Verfügbar" @@ -262,11 +271,15 @@ msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "Sketch kann nicht erstellt werden" @@ -279,7 +292,7 @@ msgstr "Bibliothek kann nicht heruntergeladen werden" msgid "Can't find dependencies for platform %s" msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "Sketch kann nicht geöffnet werden" @@ -291,15 +304,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "Konfigurationsdatei kann nicht geschrieben werden: %v" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -311,11 +324,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "Temporärer Ordner kann nicht erstellt werden" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "Temporäre Datei kann nicht erstellt werden" @@ -331,10 +344,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "Plattform konnte nicht installiert werden" @@ -359,7 +368,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -446,7 +455,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" @@ -490,11 +499,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "VERALTET" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -610,7 +619,8 @@ msgstr "wird heruntergeladen %s" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -674,16 +684,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -728,7 +738,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -800,7 +809,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -816,7 +825,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -860,7 +869,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -877,7 +886,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -889,11 +898,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -937,7 +946,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -957,10 +966,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1040,7 +1045,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1060,19 +1065,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1084,7 +1089,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1106,7 +1111,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1160,7 +1165,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1195,7 +1200,7 @@ msgstr "" msgid "Installed" msgstr "Installiert" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1205,7 +1210,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1234,7 +1239,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1247,11 +1252,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1280,7 +1285,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1288,7 +1293,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1304,7 +1309,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1316,11 +1321,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1328,11 +1333,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1367,12 +1372,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1380,7 +1389,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1389,11 +1398,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1486,19 +1495,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' aus der Bibliothek in %[2]s fehlt" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1506,11 +1515,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1522,7 +1531,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Mehrere Bibliotheken wurden für \"%[1]s\" gefunden" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1558,11 +1567,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1578,7 +1587,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1723,11 +1732,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1767,13 +1776,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1787,7 +1796,7 @@ msgstr "Port" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1816,11 +1825,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1836,7 +1845,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1852,7 +1861,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1886,11 +1895,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1910,7 +1919,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1924,15 +1933,15 @@ msgstr "" #: cli/monitor/monitor.go:195 msgid "Setting" -msgstr "" +msgstr "Einstellung" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." -msgstr "" +msgstr "Zeige alle verfügbare Core-Versionen." #: cli/compile/compile.go:101 msgid "Show all build properties used instead of compiling." @@ -1948,7 +1957,7 @@ msgstr "" #: cli/board/details.go:52 msgid "Show full board details" -msgstr "" +msgstr "Zeige vollständige Board-Informationen" #: cli/board/details.go:45 msgid "" @@ -1958,11 +1967,11 @@ msgstr "" #: cli/lib/search.go:50 msgid "Show library names only." -msgstr "" +msgstr "Nur Namen der Bibliotheken anzeigen." #: cli/board/details.go:53 msgid "Show list of available programmers" -msgstr "" +msgstr "Zeige alle verfügbare Programmer" #: cli/debug/debug.go:64 msgid "" @@ -1975,7 +1984,7 @@ msgstr "" #: cli/lib/list.go:43 msgid "Shows a list of installed libraries." -msgstr "" +msgstr "Zeige die Liste mit den installierten Bibliotheken." #: cli/lib/list.go:44 msgid "" @@ -2011,7 +2020,7 @@ msgstr "" #: cli/board/details.go:166 msgid "Size (bytes):" -msgstr "" +msgstr "Größe (Bytes):" #: legacy/builder/fail_if_buildpath_equals_sketchpath.go:42 msgid "" @@ -2021,7 +2030,7 @@ msgstr "" #: cli/sketch/new.go:65 msgid "Sketch created in: %s" -msgstr "" +msgstr "Sketch erstellt in: %s" #: cli/arguments/profiles.go:29 msgid "Sketch profile to use" @@ -2075,6 +2084,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2091,11 +2104,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2107,6 +2120,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2194,22 +2211,22 @@ msgstr "" #: cli/board/details.go:168 msgid "URL:" -msgstr "" +msgstr "URL:" #: legacy/builder/phases/core_builder.go:128 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2217,8 +2234,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2239,9 +2260,9 @@ msgstr "" #: cli/board/list.go:163 msgid "Unknown" -msgstr "" +msgstr "Unbekannt" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2347,10 +2368,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2407,7 +2427,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2434,7 +2454,7 @@ msgstr "" #: commands/upload/upload.go:408 msgid "Waiting for upload port..." -msgstr "" +msgstr "Warten auf Upload-Port..." #: legacy/builder/target_board_resolver.go:49 msgid "" @@ -2489,13 +2509,13 @@ msgstr "" #: cli/arguments/arguments.go:37 cli/arguments/arguments.go:47 msgid "and" -msgstr "" +msgstr "und" #: arduino/resources/checksums.go:80 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2545,7 +2565,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2601,6 +2621,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2609,6 +2633,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2633,11 +2661,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2645,11 +2673,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2665,6 +2693,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2681,7 +2713,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2705,7 +2737,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2757,7 +2789,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2783,7 +2815,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2795,7 +2827,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2859,7 +2891,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2939,24 +2971,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2974,7 +3006,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2983,8 +3015,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3009,7 +3041,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3045,7 +3077,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3066,7 +3098,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3154,7 +3186,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3182,22 +3214,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3217,7 +3249,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3254,7 +3286,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3270,11 +3302,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3294,10 +3326,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3373,7 +3401,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/es.po b/i18n/data/es.po index 57a5ccdffcc..ac0f4ec735c 100644 --- a/i18n/data/es.po +++ b/i18n/data/es.po @@ -50,7 +50,7 @@ msgstr "%[1]s, puertos: %[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, versión del protocolo: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%s ya está descargado" @@ -58,10 +58,6 @@ msgstr "%s ya está descargado" msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s descargado" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s instalado" @@ -71,7 +67,7 @@ msgid "%s is already installed." msgstr "%s ya está instalado." #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s no es un directorio" @@ -87,7 +83,7 @@ msgstr "%s debe ser instalado." msgid "%s pattern is missing" msgstr "Falta el patrón %s " -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" @@ -119,7 +115,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "Una nueva versión de Arduino CLI está disponible:" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "Se requiere un programador para subir." @@ -136,7 +132,7 @@ msgstr "MANUAL DE LA LINEA DE COMANDOS DE ARDUINO" msgid "Additional help topics:" msgstr "Temas de ayuda adicionales:" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "Agrega uno o más valores a una configuración." @@ -148,7 +144,7 @@ msgstr "Alias:" msgid "All the cores are already at the latest version" msgstr "Todos los núcleos están en su última versión" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "Ya está instalado %s" @@ -228,6 +224,18 @@ msgstr "Conecta una tabla al diseño." msgid "Author: %s" msgstr "Autor: %s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "Disponible" @@ -267,11 +275,15 @@ msgstr "" "La compilaciones de 'core.a' e guardan en esta ruta para ser cacheadas y " "reusadas" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "No se puede crear el directorio de datos %s" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "No se puede crear el diseño" @@ -284,7 +296,7 @@ msgstr "No fue posible descargar la librería" msgid "Can't find dependencies for platform %s" msgstr "No puedo encontrar las dependencias para la plataforma %s" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "No es posible abrir el sketch" @@ -296,15 +308,15 @@ msgstr "No se puede establecer multiples valores a un mismo índice %v" msgid "Can't use %s flags at the same time." msgstr "No puedes usar %s señales al mismo tiempo" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "No se puede escribir el archivo de configuración: %v" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" @@ -316,11 +328,11 @@ msgstr "No se puede crear el directorio de archivos de configuración: %v" msgid "Cannot create config file: %v" msgstr "No se puede crear el archivo de configuración: %v" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "No se puede crear un directorio temporal" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "No se puede crear un archivo temporal" @@ -336,10 +348,6 @@ msgstr "No se puede exportar los metadatas del diseño" msgid "Cannot find absolute path: %v" msgstr "No se puede encontrar la ruta absoluta: %v" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "No se puede obtener la ruta del ejecutable: %v" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "No se puede instalar la plataforma" @@ -364,7 +372,7 @@ msgstr "Categoría: %s" msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "Revisando los pre requisitos de instalación de la librería" @@ -456,7 +464,7 @@ msgstr "Núcleo" msgid "Core name" msgstr "Nombre del núcleo" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" @@ -502,11 +510,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "OBSOLETO" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -623,7 +631,8 @@ msgstr "Descargando %s" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" @@ -689,16 +698,16 @@ msgstr "Error calculando la ruta de archivo relativa" msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" @@ -743,7 +752,6 @@ msgid "Error downloading platform %s" msgstr "Error descargando la plataforma %s" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" @@ -816,7 +824,7 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" @@ -832,7 +840,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -876,7 +884,7 @@ msgstr "Error listando las placas: %v" msgid "Error listing platforms: %v" msgstr "Error listando las plataformas: %v" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -893,7 +901,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -905,11 +913,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "Error al leer el archivo de configuración: %v" @@ -953,7 +961,7 @@ msgstr "Error en la búsqueda de placas: %v" msgid "Error searching for Library: %v" msgstr "Error en la búsqueda de la librería: %v" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -973,10 +981,6 @@ msgstr "Error al desinstalar %[1]s: %[2]v" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1056,7 +1060,7 @@ msgstr "FQBN:" msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1076,19 +1080,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1100,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "Archivo:" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1122,7 +1126,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1176,7 +1180,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "ID" @@ -1211,7 +1215,7 @@ msgstr "" msgid "Installed" msgstr "Instalado" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "Instalado %s" @@ -1221,7 +1225,7 @@ msgid "Installed version" msgstr "Versión instalada" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "Instalando %s" @@ -1250,7 +1254,7 @@ msgstr "" msgid "Internal error in cache" msgstr "Error interno en la cache" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1263,11 +1267,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "FQBN inválido" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "URL inválida" @@ -1296,7 +1300,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1304,7 +1308,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "Librería inválida" @@ -1320,7 +1324,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1332,11 +1336,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1344,11 +1348,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "Versión inválida" @@ -1383,12 +1387,16 @@ msgstr "Última" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "La librería %s no está instalada" @@ -1396,7 +1404,7 @@ msgstr "La librería %s no está instalada" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "La librería '%s' no fue encontrada" @@ -1405,11 +1413,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "Librería instalada" @@ -1502,19 +1510,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "Falta '%[1]s' de la biblioteca en %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "Falta el puerto" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "Falta el protocolo del puerto" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1522,11 +1530,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1538,7 +1546,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Se encontraron varias bibliotecas para \"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "Nombre" @@ -1576,11 +1584,11 @@ msgstr "" "Ninguna librería concuerda con tu búsqueda.\n" "Querías decir...\n" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." @@ -1596,7 +1604,7 @@ msgstr "No hay actualizaciones disponibles." msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1741,11 +1749,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1785,13 +1793,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1805,7 +1813,7 @@ msgstr "Puerto" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1834,11 +1842,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1854,7 +1862,7 @@ msgstr "" msgid "Programmers:" msgstr "Programadores:" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1870,7 +1878,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1904,13 +1912,13 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busca un núcleo in el Manager de Tarjetas usando las palabras clave " "especificadas." -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "Busca un núcleo in el Manager de Tarjetas." @@ -1930,7 +1938,7 @@ msgstr "FQBN seleccionado: %s" msgid "Sentence: %s" msgstr "Sentencia: %s" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" @@ -1946,11 +1954,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." @@ -2095,6 +2103,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2111,11 +2123,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2127,6 +2139,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2223,15 +2239,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2239,8 +2255,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "Desinstalando %s" @@ -2265,7 +2285,7 @@ msgstr "Desinstalar una o más librerías." msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2371,10 +2391,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2430,7 +2449,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2517,7 +2536,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2567,7 +2586,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2623,6 +2642,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2631,6 +2654,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2655,11 +2682,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2667,11 +2694,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2687,6 +2714,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2703,7 +2734,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2727,7 +2758,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2779,7 +2810,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2805,7 +2836,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2817,7 +2848,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2881,7 +2912,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2961,24 +2992,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "Palabras clave" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "La librería ya está instalada" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2996,7 +3027,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -3005,8 +3036,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3031,7 +3062,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3067,7 +3098,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3088,7 +3119,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3176,7 +3207,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3204,22 +3235,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3239,7 +3270,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3276,7 +3307,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3292,11 +3323,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3316,10 +3347,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3395,7 +3422,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/fr.po b/i18n/data/fr.po index 034229792d0..40917dbbed3 100644 --- a/i18n/data/fr.po +++ b/i18n/data/fr.po @@ -49,7 +49,7 @@ msgstr "" msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%s déjà téléchargé" @@ -57,10 +57,6 @@ msgstr "%s déjà téléchargé" msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s téléchargé" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "" @@ -70,7 +66,7 @@ msgid "%s is already installed." msgstr "" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "" @@ -86,7 +82,7 @@ msgstr "" msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "" @@ -114,7 +110,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -131,7 +127,7 @@ msgstr "Manuel d'Arduino Command Line" msgid "Additional help topics:" msgstr "Aide supplémentaire sur les sujets :" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "Ajouter une autre valeur à un réglage." @@ -143,7 +139,7 @@ msgstr "Alias :" msgid "All the cores are already at the latest version" msgstr "Tous les cœurs sont à jours vers la dernière version." -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "Déjà installé %s" @@ -223,6 +219,18 @@ msgstr "" msgid "Author: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "" @@ -260,11 +268,15 @@ msgstr "Fichier du bootloader spécifié mais absent: %[1]s" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -277,7 +289,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -289,15 +301,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -309,11 +321,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "Impossible de créer le dossier temporaire" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "Impossible de créer le fichier temporaire" @@ -329,10 +341,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -357,7 +365,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -444,7 +452,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -488,11 +496,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -606,7 +614,8 @@ msgstr "Téléchargement %s" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -670,16 +679,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -724,7 +733,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -796,7 +804,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -812,7 +820,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -856,7 +864,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -873,7 +881,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -885,11 +893,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -933,7 +941,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -953,10 +961,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1036,7 +1040,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1056,19 +1060,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1080,7 +1084,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1102,7 +1106,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1157,7 +1161,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1192,7 +1196,7 @@ msgstr "" msgid "Installed" msgstr "Installé" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1202,7 +1206,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1231,7 +1235,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1244,11 +1248,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1277,7 +1281,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1285,7 +1289,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1301,7 +1305,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1313,11 +1317,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1325,11 +1329,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1364,12 +1368,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1377,7 +1385,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1386,11 +1394,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1484,19 +1492,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "Fichier manquant '%[1]s' de la bibliothèque dans %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1504,11 +1512,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1520,7 +1528,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Plusieurs bibliothèque trouvées pour \"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1556,11 +1564,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1576,7 +1584,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1721,11 +1729,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1765,13 +1773,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1785,7 +1793,7 @@ msgstr "Port" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1814,11 +1822,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1834,7 +1842,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1850,7 +1858,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1884,11 +1892,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1908,7 +1916,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1924,11 +1932,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2071,6 +2079,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2087,11 +2099,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2103,6 +2115,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2197,15 +2213,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2213,8 +2229,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2237,7 +2257,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2343,10 +2363,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2405,7 +2424,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2492,7 +2511,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2542,7 +2561,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2598,6 +2617,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2606,6 +2629,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2630,11 +2657,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2642,11 +2669,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2662,6 +2689,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2678,7 +2709,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2702,7 +2733,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2754,7 +2785,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2780,7 +2811,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2792,7 +2823,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2856,7 +2887,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2936,24 +2967,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2971,7 +3002,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2980,8 +3011,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3006,7 +3037,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3042,7 +3073,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3063,7 +3094,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3151,7 +3182,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3179,22 +3210,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3214,7 +3245,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3251,7 +3282,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3267,11 +3298,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3291,10 +3322,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3370,7 +3397,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/he.po b/i18n/data/he.po index 55e32ae1603..b79dac1b6bb 100644 --- a/i18n/data/he.po +++ b/i18n/data/he.po @@ -45,7 +45,7 @@ msgstr "" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, גרסאת פרוטוקול: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "" @@ -53,10 +53,6 @@ msgstr "" msgid "%s and %s cannot be used together" msgstr "" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s מותקן" @@ -66,7 +62,7 @@ msgid "%s is already installed." msgstr "" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s אינו תיקייה" @@ -82,7 +78,7 @@ msgstr "" msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "" @@ -110,7 +106,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -127,7 +123,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -139,7 +135,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "" @@ -219,6 +215,18 @@ msgstr "" msgid "Author: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "" @@ -256,11 +264,15 @@ msgstr "" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -273,7 +285,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -285,15 +297,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -305,11 +317,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -325,10 +337,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -353,7 +361,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -440,7 +448,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -484,11 +492,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -602,7 +610,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -666,16 +675,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -720,7 +729,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -792,7 +800,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -808,7 +816,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -852,7 +860,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -869,7 +877,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -881,11 +889,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -929,7 +937,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -949,10 +957,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1032,7 +1036,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1052,19 +1056,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1076,7 +1080,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1098,7 +1102,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1150,7 +1154,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1185,7 +1189,7 @@ msgstr "" msgid "Installed" msgstr "" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1195,7 +1199,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1224,7 +1228,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1237,11 +1241,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1270,7 +1274,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1278,7 +1282,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1294,7 +1298,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1306,11 +1310,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1318,11 +1322,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1357,12 +1361,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1370,7 +1378,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1379,11 +1387,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1475,19 +1483,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1495,11 +1503,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1511,7 +1519,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1547,11 +1555,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1567,7 +1575,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1710,11 +1718,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1754,13 +1762,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1774,7 +1782,7 @@ msgstr "" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1803,11 +1811,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1823,7 +1831,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1839,7 +1847,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1873,11 +1881,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1897,7 +1905,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1913,11 +1921,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2058,6 +2066,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2074,11 +2086,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2090,6 +2102,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2184,15 +2200,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2200,8 +2216,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2224,7 +2244,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2330,10 +2350,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2389,7 +2408,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2471,7 +2490,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2521,7 +2540,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2577,6 +2596,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2585,6 +2608,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2609,11 +2636,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2621,11 +2648,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2641,6 +2668,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2657,7 +2688,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2681,7 +2712,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2733,7 +2764,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2759,7 +2790,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2771,7 +2802,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2835,7 +2866,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2915,24 +2946,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2950,7 +2981,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2959,8 +2990,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -2985,7 +3016,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3021,7 +3052,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3042,7 +3073,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3130,7 +3161,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3158,22 +3189,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3193,7 +3224,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3230,7 +3261,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3246,11 +3277,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3270,10 +3301,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3349,7 +3376,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/it_IT.po b/i18n/data/it_IT.po index c5ef7f37882..d0be44c0b80 100644 --- a/i18n/data/it_IT.po +++ b/i18n/data/it_IT.po @@ -52,7 +52,7 @@ msgstr "%[1]s, porte: %[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, versione protocollo: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr " %s già scaricato" @@ -60,10 +60,6 @@ msgstr " %s già scaricato" msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s scaricato " - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s installato" @@ -73,7 +69,7 @@ msgid "%s is already installed." msgstr "%s è già installato." #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s non è una directory" @@ -89,7 +85,7 @@ msgstr "%s deve essere installato." msgid "%s pattern is missing" msgstr "Manca il pattern %s" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" @@ -121,7 +117,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "È disponibile una nuova versione di Arduino CLI" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "Per caricare è necessario un programmatore" @@ -138,7 +134,7 @@ msgstr "MANUALE DELLA LINEA DI COMANDO ARDUINO" msgid "Additional help topics:" msgstr "Informazioni aggiuntive:" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "Aggiunge uno o più valori a un'impostazione." @@ -150,7 +146,7 @@ msgstr "Alias:" msgid "All the cores are already at the latest version" msgstr "Tutti i core sono già all'ultima versione" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "Già installato %s" @@ -230,6 +226,22 @@ msgstr "Collega uno sketch ad una scheda" msgid "Author: %s" msgstr "Autore: %s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" +"Non è possibile eseguire l'installazione automatica della libreria, " +"rimuovere manualmente tutti i duplicati e riprovare." + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" +"La disinstallazione automatica delle librerie non può essere eseguita, " +"rimuovile manualmente." + #: cli/lib/list.go:124 msgid "Available" msgstr "Disponibile" @@ -269,11 +281,15 @@ msgstr "" "Le build di 'core.a' vengono salvate in questo percorso per essere " "memorizzate nella cache e riutilizzate." +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "La directory delle librerie integrate non è stata impostata" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "Non è possibile creare la directory dei dati %s" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "Non è possibile creare lo sketch" @@ -286,7 +302,7 @@ msgstr "Non è possibile scaricare la libreria" msgid "Can't find dependencies for platform %s" msgstr "Dipendenze per la piattaforma %s non trovate" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "Non è possibile aprire lo sketch" @@ -298,15 +314,15 @@ msgstr "Non è possibile impostare valori multipli nella chiave %v" msgid "Can't use %s flags at the same time." msgstr "Impossibile utilizzare i flag %s contemporaneamente." -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "Non è possibile salvare il file di configurazione: %v" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" @@ -319,11 +335,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "Non è possibile creare il file di configurazione: %v" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "Non è possibile creare la cartella temporanea" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "Non è possibile creare il file temporaneo" @@ -339,10 +355,6 @@ msgstr "Non è possibile esportare i medatati dello sketch" msgid "Cannot find absolute path: %v" msgstr "Percorso assoluto non trovato: %v" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "Non è possibile ottenere il percorso dell'eseguibile: %v" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "Non è possibile installare la piattaforma" @@ -367,7 +379,7 @@ msgstr "Categoria: %s" msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "Controllo dei prerequisiti per installazione della lib" @@ -459,7 +471,7 @@ msgstr "Core" msgid "Core name" msgstr "Nome core" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" @@ -508,11 +520,11 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "DEPRECATO" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "Deamon è ora in ascolto su %s:%s" @@ -636,7 +648,8 @@ msgstr "Sto scaricando %s" msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" @@ -705,16 +718,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" @@ -763,7 +776,6 @@ msgid "Error downloading platform %s" msgstr "Errore durante il download della piattaforma %s" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" @@ -844,7 +856,7 @@ msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " "per il database di compilazione: %s" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " @@ -866,7 +878,7 @@ msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " "impostazioni della porta: %s" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "Si è verificato un errore durante l'inizializzazione dell'istanza: %v" @@ -918,7 +930,7 @@ msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "piattaforme: %v" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" "Si è verificato un errore durante il caricamento della piattaforma hardware" @@ -938,7 +950,7 @@ msgstr "Si è verificato un errore durante il caricamento dell'indice %s" msgid "Error opening %s" msgstr "Si è verificato un errore durante l'apertura di %s" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" @@ -953,12 +965,12 @@ msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "Errore durante la lettura del file di configurazione: %v" @@ -1010,7 +1022,7 @@ msgstr "Si è verificato un errore durante la ricerca delle schede: %v" msgid "Error searching for Library: %v" msgstr "Si è verificato un errore durante la ricerca della libreria: %v" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "Si è verificato un errore durante la ricerca delle piattaforme: %v" @@ -1034,10 +1046,6 @@ msgstr "" "Si è verificato un errore durante l'aggiornamento dell'indice del core e " "delle librerie: %v" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "Si è verificato un errore durante l'aggiornamento dell'indice: %v" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "Si è verificato un errore durante l'aggiornamento degli indici: %v" @@ -1128,7 +1136,7 @@ msgstr "FQBN:" msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "Impossibile scegliere la porta, indirizzo: %s" @@ -1148,22 +1156,22 @@ msgstr "Impossibile creare la directory dei dati" msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s non è una porta valida." -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s è un nome sconosciuto." -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. Errore imprevisto: %[2]v" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." @@ -1175,7 +1183,7 @@ msgstr "Caricamento non riuscito" msgid "File:" msgstr "File:" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "Il primo messaggio deve contenere la richiesta di debug, non i dati." @@ -1201,7 +1209,7 @@ msgstr "" "Forza il salto degli script post-install (se la CLI non è in esecuzione " "interattiva)." -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1258,7 +1266,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "ID" @@ -1296,7 +1304,7 @@ msgstr "Include %s directory nell'archivio." msgid "Installed" msgstr "Installato" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "Installato %s" @@ -1306,7 +1314,7 @@ msgid "Installed version" msgstr "Versione installata" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "Installazione %s" @@ -1335,7 +1343,7 @@ msgstr "Installa nel sistema una o più librerie specificate." msgid "Internal error in cache" msgstr "Errore interno alla cache" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "La proprietà '%[1]s' non è valida: %[2]s" @@ -1350,11 +1358,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "Il formato URL del dispositivo non è valido" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "FQBN non è valido" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "URL non è valido" @@ -1384,7 +1392,7 @@ msgstr "Tipo di porta del dispositivo non valido" msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "Istanza non è valida" @@ -1392,7 +1400,7 @@ msgstr "Istanza non è valida" msgid "Invalid item %s" msgstr "Oggetto invalido %s" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "Libreria non è valida" @@ -1408,7 +1416,7 @@ msgstr "Opzione non valida per --log-level: %s" msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1420,11 +1428,11 @@ msgstr "Il parametro %s non è valido: versione non consentita" msgid "Invalid pid value: '%s'" msgstr "Il valore pid non è valido: '%s'" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "Il profilo non è valido" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "Scrittura non valida in platform.txt" @@ -1432,11 +1440,11 @@ msgstr "Scrittura non valida in platform.txt" msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "Timeout non valido: %s" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "Versione non è valida" @@ -1473,13 +1481,17 @@ msgstr "Ultimo" msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La libreria %[1]s è già installata, ma con una versione differente: %[2]s" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "La libreria %s è già alla versione più recente" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "La libreria %s non è installata" @@ -1487,7 +1499,7 @@ msgstr "La libreria %s non è installata" msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "Impossibile trovare la libreria '%s'" @@ -1498,11 +1510,11 @@ msgstr "" "La libreria non può utilizzare entramble le cartelle '%[1]s' e '%[2]s'. " "Doppio controllo in '%[3]s'." -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "Impossibile installare la libreria" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "La libreria è stata installata" @@ -1604,19 +1616,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "Manca '%[1]s' nella libreria %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FQBN mancante (Fully Qualified Board Name)" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "Porta mancante" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "Manca il protocollo della porta" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "Manca il programmatore" @@ -1624,11 +1636,11 @@ msgstr "Manca il programmatore" msgid "Missing size regexp" msgstr "Manca la dimensione della regexp" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "Manca il percorso dello sketch" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" @@ -1640,7 +1652,7 @@ msgstr "Impostazioni sulla porta del monitor:" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Più di una libreria trovata per \"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "Nome" @@ -1678,11 +1690,11 @@ msgstr "" "Non ci sono biblioteche corrispondenti alla tua ricerca.\n" "Intendevi dire...\n" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "Nessun monitor disponibile per il protocollo della porta %s" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." @@ -1700,7 +1712,7 @@ msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " "utilizzata %s" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "Non è stata trovata una soluzione valida per le dipendenze" @@ -1862,11 +1874,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "La piattaforma %s è stata disinstallata" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "La piattaforma '%s' è già aggiornata all'ultima versione" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "Impossibile trovare la piattaforma '%s'" @@ -1906,7 +1918,7 @@ msgstr "Nome piattaforma:" msgid "Platform size (bytes):" msgstr "Dimensione della piattaforma (bytes):" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1914,7 +1926,7 @@ msgstr "" "Specificare un FQBN. Sono state rilevate più schede sulla porta %[1]s con " "protocollo %[2]s" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1930,7 +1942,7 @@ msgstr "Porta" msgid "Port closed:" msgstr "Porta chiusa:" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "Errore di monitoraggio della porta" @@ -1959,11 +1971,11 @@ msgstr "Stampa la configurazione attuale" msgid "Prints the current configuration." msgstr "Stampa la configurazione attuale." -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "Impossibile trovare il profilo '%s'" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "Impossibile trovare il programmatore '%s'" @@ -1979,7 +1991,7 @@ msgstr "Programmatore da utilizzare, ad esempio: atmel_ice" msgid "Programmers:" msgstr "Programmatori:" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "La proprietà '%s' non è definita" @@ -1995,7 +2007,7 @@ msgstr "La dotazione comprende: %s" msgid "Removes one or more values from a setting." msgstr "Rimuove uno o più valori da un'impostazione." -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "Sostituire %[1]s con %[2]s" @@ -2032,12 +2044,12 @@ msgstr "Esecuzione della normale compilazione del core..." msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Cerca un core nel gestore delle schede, usando le parole chiave specificate." -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "Cerca un core nel gestore delle schede." @@ -2059,7 +2071,7 @@ msgstr "fqbn selezionato: %s" msgid "Sentence: %s" msgstr "Frase: %s" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" @@ -2075,11 +2087,11 @@ msgstr "Imposta dove salvare il file di configurazione." msgid "Setting" msgstr "Impostazioni" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "La chiave delle impostazioni non esiste" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." @@ -2244,6 +2256,10 @@ msgstr "Salta la configurazione della piattaforma." msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "Non è stato possibile aggiornare alcuni indici." + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "TOUCH: si è verificato un errore durante il reset: %s" @@ -2262,11 +2278,11 @@ msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " "utilizzato quello predefinito)." -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2282,6 +2298,10 @@ msgstr "" "La chiave '%[1]v' non è un elenco di elementi, non può essere rimossa.\n" "Forse si può usare '%[2]s'?" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "La libreria %s richiede altre installazioni:" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2393,15 +2413,15 @@ msgstr "" "Non è possibile memorizzare nella cache il core compilato, riferisci ai " "manutentori di %[1]s di seguire le istruzioni %[2]s" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "Impossibile ottenere la cartella documenti: %v" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "Impossibile ottenere la cartella dati dell'app locale: %v" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "Impossibile ottenere la home directory dell'utente: %v" @@ -2409,8 +2429,12 @@ msgstr "Impossibile ottenere la home directory dell'utente: %v" msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "Non è stato possibile analizzare l'URL" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "Disinstallazione di %s" @@ -2435,7 +2459,7 @@ msgstr "Disinstalla una o più librerie." msgid "Unknown" msgstr "Sconosciuto" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "FQBN sconosciuto" @@ -2547,10 +2571,9 @@ msgstr "Piattaforma utilizzata" msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "Directory utente non impostata" @@ -2607,7 +2630,7 @@ msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "Versione" @@ -2706,7 +2729,7 @@ msgstr "e" msgid "archive hash differs from hash in index" msgstr "L'hash dell'archivio è diverso dall'hash dell'indice" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "l'archivio non è valido: sono stati trovati più file nel livello superiore " @@ -2758,7 +2781,7 @@ msgstr "Impossibile trovare l'ultima versione del tool %s" msgid "can't find main Sketch file in %s" msgstr "Impossibile trovare il file principale dello sketch in %s" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" @@ -2814,6 +2837,11 @@ msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" +"Impossibile creare la directory %s: esiste un file with lo stesso nome!" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" @@ -2822,6 +2850,10 @@ msgstr "impossibile trovare un artefatto di compilazione valido" msgid "could not overwrite" msgstr "impossibile sovrascrivere" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "Impossibile rimuovere la vecchia libreria" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "creazione di installed.json in %[1]s: %[2]s" @@ -2846,12 +2878,12 @@ msgstr "la dipendenza '%s' non è disponibile" msgid "destination already exists" msgstr "la destinazione esiste già" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" "La directory di destinazione %s esiste già, non è possibile installare" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" @@ -2859,11 +2891,11 @@ msgstr "la directory non esiste: %s" msgid "discovery %[1]s process not started: %[2]w" msgstr "il processo di rilevamento %[1]s non è stato avviato: %[2]w" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "rilevamento %s non è stato trovato" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" @@ -2879,6 +2911,10 @@ msgstr "scarica una versione specifica (in questo caso la 1.6.9)." msgid "download the latest version of Arduino SAMD core." msgstr "scarica l'ultima versione del core SAMD di Arduino." +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "sto scaricando il tool %[1]s: %[2]s" @@ -2897,7 +2933,7 @@ msgstr "" "si è verificato un errore durante il caricamento del file di progetto dello " "sketch:" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" @@ -2923,7 +2959,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "estrazione dell'archivio: %s" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "estrazione dell'archivio: %w" @@ -2977,7 +3013,7 @@ msgstr "sto generando installation.id: %w" msgid "generating installation.secret: %w" msgstr "sto generando installation.secret: %w" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "sto recuperando le informazioni sui file dell'archivio: %s" @@ -3006,7 +3042,7 @@ msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del monitor per la piattaforma %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "sto recuperando la directory padre di %[1]s: %[2]s" @@ -3019,7 +3055,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "sto importando i metadati dello sketch: %s" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" @@ -3083,7 +3119,7 @@ msgstr "la versione della libreria vuota non è valida: %s" msgid "invalid empty option found" msgstr "è stata trovata un'opzione vuota non valida" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "url git non è valido" @@ -3167,24 +3203,24 @@ msgstr "la versione non è valida:" msgid "key not found in settings" msgstr "la chiave non è stata trovata nelle impostazioni" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "parole chiave" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "la libreria %s è già installata" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "la libreria è già installata" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "la libreria non è valida" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "il percorso della libreria non esiste: %s" @@ -3202,7 +3238,7 @@ msgstr "caricamento di %[1]s: %[2]s" msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "caricamento dei tool in dotazione da %s" @@ -3211,8 +3247,8 @@ msgstr "caricamento dei tool in dotazione da %s" msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "caricamento della libreria da %[1]s: %[2]s" @@ -3237,7 +3273,7 @@ msgstr "caricamento della piattaforma richiesta %s" msgid "loading required tool %s" msgstr "caricamento del tool richiesto %s" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "rilascio del tool di caricamento in %s" @@ -3275,7 +3311,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" @@ -3298,7 +3334,7 @@ msgstr "" msgid "no executable specified" msgstr "non è stato specificato alcun eseguibile" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" @@ -3388,7 +3424,7 @@ msgstr "la piattaforma %s non è installata" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "piattaforma non installata" @@ -3417,22 +3453,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "la versione del protocollo non è supportata: richiesta 1, ottenuta %d" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "lettura di %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "lettura della directory %[1]s: %[2]s" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "lettura cartella %s" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "lettura del contenuto della directory %s: %w" @@ -3452,7 +3488,7 @@ msgstr "lettura del file di inventario: %w" msgid "reading lib headers: %s" msgstr "lettura degli header delle librerie: %s" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "lettura delle directory lib src: %s" @@ -3489,7 +3525,7 @@ msgstr "il rilascio non può essere nullo" msgid "removing corrupted archive file: %s" msgstr "sto rimuovendo il file di archivio danneggiato: %s" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "sto rimuovendo la directory lib: %s" @@ -3506,11 +3542,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "sto recuperando le chiavi pubbliche di Arduino: %s" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "esempi di scansione: %s" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "ricerca di builtin_tools_versions.txt in %[1]s: %[2]s" @@ -3530,12 +3566,6 @@ msgstr "il percorso dello sketch non è valido" msgid "sketchPath" msgstr "percorso dello sketch" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" -"Salto il caricamento delle schede %s: opzioni di schede personalizzate " -"malformate" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "la sorgente non è una directory" @@ -3611,7 +3641,7 @@ msgstr "il rilascio del tool non è stato trovato: %s" msgid "tool version %s not found" msgstr "la versione %s del tool non è stata trovata" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/ja.po b/i18n/data/ja.po index 06262335e4a..fe8271ff4f1 100644 --- a/i18n/data/ja.po +++ b/i18n/data/ja.po @@ -47,7 +47,7 @@ msgstr "%[1]s, ポート: %[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, プロトコルバージョン: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" @@ -55,10 +55,6 @@ msgstr "%sはすでにダウンロードされています" msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%sをダウンロードしました " - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%sをインストールしました" @@ -68,7 +64,7 @@ msgid "%s is already installed." msgstr "%sはすでにインストールされています。" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%sはディレクトリではありません" @@ -84,7 +80,7 @@ msgstr "" msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "" @@ -112,7 +108,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -129,7 +125,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -141,7 +137,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "" @@ -221,6 +217,18 @@ msgstr "" msgid "Author: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "" @@ -258,11 +266,15 @@ msgstr "ブートローダのファイルが指定されましたが次が不足 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -275,7 +287,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -287,15 +299,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -307,11 +319,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -327,10 +339,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -355,7 +363,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -442,7 +450,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -486,11 +494,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -604,7 +612,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -668,16 +677,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -722,7 +731,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -794,7 +802,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -810,7 +818,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -854,7 +862,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -871,7 +879,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -883,11 +891,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -931,7 +939,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -951,10 +959,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1034,7 +1038,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1054,19 +1058,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1078,7 +1082,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1100,7 +1104,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1153,7 +1157,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1188,7 +1192,7 @@ msgstr "" msgid "Installed" msgstr "インストール済" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1198,7 +1202,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1227,7 +1231,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1240,11 +1244,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1273,7 +1277,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1281,7 +1285,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1297,7 +1301,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1309,11 +1313,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1321,11 +1325,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1360,12 +1364,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1373,7 +1381,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1382,11 +1390,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1478,19 +1486,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]sのライブラリに「%[1]s」がありません" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1498,11 +1506,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1514,7 +1522,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "「%[1]s」に対して複数のライブラリが見つかりました" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1550,11 +1558,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1570,7 +1578,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1713,11 +1721,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1757,13 +1765,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1777,7 +1785,7 @@ msgstr "シリアルポート" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1806,11 +1814,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1826,7 +1834,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1842,7 +1850,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1876,11 +1884,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1900,7 +1908,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1916,11 +1924,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2061,6 +2069,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2077,11 +2089,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2093,6 +2105,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2187,15 +2203,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2203,8 +2219,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2227,7 +2247,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2333,10 +2353,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2392,7 +2411,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2476,7 +2495,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2526,7 +2545,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2582,6 +2601,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2590,6 +2613,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2614,11 +2641,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2626,11 +2653,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2646,6 +2673,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2662,7 +2693,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2686,7 +2717,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2738,7 +2769,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2764,7 +2795,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2776,7 +2807,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2840,7 +2871,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2920,24 +2951,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2955,7 +2986,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2964,8 +2995,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -2990,7 +3021,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3026,7 +3057,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3047,7 +3078,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3135,7 +3166,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3163,22 +3194,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3198,7 +3229,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3235,7 +3266,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3251,11 +3282,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3275,10 +3306,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3354,7 +3381,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/ko.po b/i18n/data/ko.po index a6bd08149bc..486259e8c9a 100644 --- a/i18n/data/ko.po +++ b/i18n/data/ko.po @@ -45,7 +45,7 @@ msgstr "" msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "" @@ -53,10 +53,6 @@ msgstr "" msgid "%s and %s cannot be used together" msgstr "" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "" @@ -66,7 +62,7 @@ msgid "%s is already installed." msgstr "" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "" @@ -82,7 +78,7 @@ msgstr "" msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "" @@ -110,7 +106,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -127,7 +123,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -139,7 +135,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "" @@ -219,6 +215,18 @@ msgstr "" msgid "Author: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "" @@ -256,11 +264,15 @@ msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -273,7 +285,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -285,15 +297,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -305,11 +317,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -325,10 +337,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -353,7 +361,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -440,7 +448,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -484,11 +492,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -602,7 +610,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -666,16 +675,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -720,7 +729,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -792,7 +800,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -808,7 +816,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -852,7 +860,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -869,7 +877,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -881,11 +889,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -929,7 +937,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -949,10 +957,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1032,7 +1036,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1052,19 +1056,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1076,7 +1080,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1098,7 +1102,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1186,7 +1190,7 @@ msgstr "" msgid "Installed" msgstr "설치됨" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1196,7 +1200,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1225,7 +1229,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1238,11 +1242,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1271,7 +1275,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1279,7 +1283,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1295,7 +1299,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1307,11 +1311,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1319,11 +1323,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1358,12 +1362,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1371,7 +1379,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1380,11 +1388,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1476,19 +1484,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "라이브러리 %[2]s에서 '%[1]s'가 없음" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1496,11 +1504,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1512,7 +1520,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "\"%[1]s\"를 위한 복수개의 라이브러리가 발견되었습니다" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1548,11 +1556,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1568,7 +1576,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1711,11 +1719,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1755,13 +1763,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1775,7 +1783,7 @@ msgstr "포트" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1804,11 +1812,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1824,7 +1832,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1840,7 +1848,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1874,11 +1882,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1898,7 +1906,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1914,11 +1922,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2059,6 +2067,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2075,11 +2087,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2091,6 +2103,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2185,15 +2201,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2201,8 +2217,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2225,7 +2245,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2331,10 +2351,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2390,7 +2409,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2475,7 +2494,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2525,7 +2544,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2581,6 +2600,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2589,6 +2612,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2613,11 +2640,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2625,11 +2652,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2645,6 +2672,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2661,7 +2692,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2685,7 +2716,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2737,7 +2768,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2763,7 +2794,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2775,7 +2806,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2839,7 +2870,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2919,24 +2950,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2954,7 +2985,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2963,8 +2994,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -2989,7 +3020,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3025,7 +3056,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3046,7 +3077,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3134,7 +3165,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3162,22 +3193,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3197,7 +3228,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3234,7 +3265,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3250,11 +3281,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3274,10 +3305,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3353,7 +3380,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/pl.po b/i18n/data/pl.po index d999a65e7ed..906386c0b49 100644 --- a/i18n/data/pl.po +++ b/i18n/data/pl.po @@ -2,10 +2,11 @@ # Translators: # Tyle Tyle, 2022 # CLI team , 2022 +# Marcin Figiela, 2022 # msgid "" msgstr "" -"Last-Translator: CLI team , 2022\n" +"Last-Translator: Marcin Figiela, 2022\n" "Language-Team: Polish (https://www.transifex.com/arduino-1/teams/108174/pl/)\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -16,15 +17,15 @@ msgstr "" #: legacy/builder/fail_if_imported_library_is_wrong.go:36 msgid "%[1]s folder is no longer supported! See %[2]s for more information" -msgstr "" +msgstr "%[1]sfolder nie jest już wspierany,.Zobacz %[2]spo więcej informacji" #: legacy/builder/wipeout_build_path_if_build_options_changed.go:49 msgid "%[1]s invalid, rebuilding all" -msgstr "" +msgstr "%[1]snieprawidłowe, przebudowywuję całość" #: cli/lib/check_deps.go:102 msgid "%[1]s is required but %[2]s is currently installed." -msgstr "" +msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" #: legacy/builder/builder_utils/utils.go:433 msgid "%[1]s pattern is missing" @@ -32,11 +33,11 @@ msgstr "Brakujący wzorzec %[1]s" #: arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" -msgstr "" +msgstr "%[1]s, wiadomość %[2]s" #: arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" -msgstr "" +msgstr "%[1]s, port%[2]s" #: arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" @@ -44,19 +45,15 @@ msgstr "%[1]s, porty: %[2]s" #: arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" -msgstr "" +msgstr "%[1]s, wersja protokołu %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" -msgstr "" +msgstr "%sjuż pobrane" #: commands/upload/upload.go:541 msgid "%s and %s cannot be used together" -msgstr "" - -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s pobrane" +msgstr "%s oraz %s nie mogą być razem użyte" #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" @@ -64,28 +61,28 @@ msgstr "%s zainstalowane" #: cli/lib/check_deps.go:99 msgid "%s is already installed." -msgstr "" +msgstr "%sjuż jest zainstalowane" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" -msgstr "" +msgstr "%snie jest " #: arduino/cores/packagemanager/install_uninstall.go:283 msgid "%s is not managed by package manager" -msgstr "" +msgstr "%snie jest zarządzane przez zarządcę paczek" #: cli/lib/check_deps.go:96 msgid "%s must be installed." -msgstr "" +msgstr "%smusi byc zainstalowane" #: legacy/builder/ctags_runner.go:42 msgid "%s pattern is missing" -msgstr "" +msgstr "%s brakuje wzoru" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" -msgstr "" +msgstr "'%s' posiada niewłaściwy podpis" #: cli/board/listall.go:91 cli/board/search.go:89 msgid "(hidden)" @@ -111,7 +108,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -128,7 +125,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -140,7 +137,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "" @@ -220,6 +217,18 @@ msgstr "" msgid "Author: %s" msgstr "Autor: %s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "Dostępne" @@ -257,11 +266,15 @@ msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -274,7 +287,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -286,15 +299,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -306,11 +319,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -326,10 +339,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -354,7 +363,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -441,7 +450,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -485,11 +494,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -603,7 +612,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -667,16 +677,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -721,7 +731,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -793,7 +802,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -809,7 +818,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -853,7 +862,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -870,7 +879,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -882,11 +891,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -930,7 +939,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -950,10 +959,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1033,7 +1038,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1053,19 +1058,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1077,7 +1082,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1099,7 +1104,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1154,7 +1159,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1189,7 +1194,7 @@ msgstr "" msgid "Installed" msgstr "Zainstalowany" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1199,7 +1204,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1228,7 +1233,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1241,11 +1246,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1274,7 +1279,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1282,7 +1287,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1298,7 +1303,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1310,11 +1315,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1322,11 +1327,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1361,12 +1366,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1374,7 +1383,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1383,11 +1392,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1480,19 +1489,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "Brakuje '%[1]s' z biblioteki w %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1500,11 +1509,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1516,7 +1525,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Znaleziono wiele bibliotek w \"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1552,11 +1561,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1572,7 +1581,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1717,11 +1726,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1761,13 +1770,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1781,7 +1790,7 @@ msgstr "Port" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1810,11 +1819,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1830,7 +1839,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1846,7 +1855,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1880,11 +1889,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1904,7 +1913,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1920,11 +1929,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2067,6 +2076,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2083,11 +2096,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2099,6 +2112,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2193,15 +2210,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2209,8 +2226,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2233,7 +2254,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2339,10 +2360,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2398,7 +2418,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2485,7 +2505,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2535,7 +2555,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2591,6 +2611,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2599,6 +2623,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2623,11 +2651,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2635,11 +2663,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2655,6 +2683,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2671,7 +2703,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2695,7 +2727,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2747,7 +2779,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2773,7 +2805,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2785,7 +2817,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2849,7 +2881,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2929,24 +2961,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2964,7 +2996,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2973,8 +3005,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -2999,7 +3031,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3035,7 +3067,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3056,7 +3088,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3144,7 +3176,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3172,22 +3204,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3207,7 +3239,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3244,7 +3276,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3260,11 +3292,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3284,10 +3316,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3363,7 +3391,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/pt.po b/i18n/data/pt.po index b81f6bb0f03..8b30fcefbe3 100644 --- a/i18n/data/pt.po +++ b/i18n/data/pt.po @@ -46,7 +46,7 @@ msgstr "%[1]sportas:%[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[2]d%[1]s, versão do protocolo:" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%s‎já baixado‎" @@ -54,10 +54,6 @@ msgstr "%s‎já baixado‎" msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s‎baixado‎" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%sinstalado" @@ -67,7 +63,7 @@ msgid "%s is already installed." msgstr "%s‎já está instalado.‎" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" @@ -83,7 +79,7 @@ msgstr "%s‎deve ser instalado.‎" msgid "%s pattern is missing" msgstr "%spadrão está faltando" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" @@ -115,7 +111,7 @@ msgstr "" msgid "A new release of Arduino CLI is available:" msgstr "‎Uma nova atualização do Arduino CLI está disponível:‎" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "‎É necessário um programador para carregar‎" @@ -132,7 +128,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -144,7 +140,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "%s‎Já instalado‎" @@ -224,6 +220,18 @@ msgstr "‎Anexa um sketch a uma placa.‎" msgid "Author: %s" msgstr "%sAltor" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "Disponível‎" @@ -261,11 +269,15 @@ msgstr "" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -278,7 +290,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -290,15 +302,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -310,11 +322,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -330,10 +342,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -358,7 +366,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -445,7 +453,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -489,11 +497,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -607,7 +615,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -671,16 +680,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -725,7 +734,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -797,7 +805,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -813,7 +821,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -857,7 +865,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -874,7 +882,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -886,11 +894,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -934,7 +942,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -954,10 +962,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1037,7 +1041,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1057,19 +1061,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1081,7 +1085,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1103,7 +1107,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1157,7 +1161,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1192,7 +1196,7 @@ msgstr "" msgid "Installed" msgstr "" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1202,7 +1206,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1231,7 +1235,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1244,11 +1248,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1277,7 +1281,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1285,7 +1289,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1301,7 +1305,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1313,11 +1317,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1325,11 +1329,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1364,12 +1368,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1377,7 +1385,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1386,11 +1394,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1482,19 +1490,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1502,11 +1510,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1518,7 +1526,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1554,11 +1562,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1574,7 +1582,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1719,11 +1727,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1763,13 +1771,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1783,7 +1791,7 @@ msgstr "Porta" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1812,11 +1820,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1832,7 +1840,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1848,7 +1856,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1882,11 +1890,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1906,7 +1914,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1922,11 +1930,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2071,6 +2079,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2087,11 +2099,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2103,6 +2115,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2197,15 +2213,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2213,8 +2229,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2237,7 +2257,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2343,10 +2363,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2402,7 +2421,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2487,7 +2506,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2537,7 +2556,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2593,6 +2612,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2601,6 +2624,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2625,11 +2652,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2637,11 +2664,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2657,6 +2684,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2673,7 +2704,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2697,7 +2728,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2749,7 +2780,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2775,7 +2806,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2787,7 +2818,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2851,7 +2882,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2931,24 +2962,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2966,7 +2997,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2975,8 +3006,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3001,7 +3032,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3037,7 +3068,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3058,7 +3089,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3146,7 +3177,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3174,22 +3205,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3209,7 +3240,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3246,7 +3277,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3262,11 +3293,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3286,10 +3317,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3365,7 +3392,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/ru.po b/i18n/data/ru.po index c7299b0f97e..6f837d50288 100644 --- a/i18n/data/ru.po +++ b/i18n/data/ru.po @@ -2,21 +2,22 @@ # Translators: # Дмитрий Кат, 2022 # CLI team , 2022 +# Bakdaulet Kadyr , 2022 # msgid "" msgstr "" -"Last-Translator: CLI team , 2022\n" +"Last-Translator: Bakdaulet Kadyr , 2022\n" "Language-Team: Russian (https://www.transifex.com/arduino-1/teams/108174/ru/)\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: version/version.go:53 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" -msgstr "" +msgstr "%[1]s%[2]s Версия: %[3]s Фиксация: %[4]s Дата: %[5]s" #: legacy/builder/fail_if_imported_library_is_wrong.go:36 msgid "%[1]s folder is no longer supported! See %[2]s for more information" -msgstr "" +msgstr "Папка %[1]s более не поддерживается! Более подробно в %[2]s" #: legacy/builder/wipeout_build_path_if_build_options_changed.go:49 msgid "%[1]s invalid, rebuilding all" @@ -24,7 +25,7 @@ msgstr "" #: cli/lib/check_deps.go:102 msgid "%[1]s is required but %[2]s is currently installed." -msgstr "" +msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" #: legacy/builder/builder_utils/utils.go:433 msgid "%[1]s pattern is missing" @@ -32,44 +33,40 @@ msgstr "%[1]s не найден шаблон" #: arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" -msgstr "" +msgstr "%[1]s, сообщение: %[2]s" #: arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" -msgstr "" +msgstr "%[1]s, порт: %[2]s" #: arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" -msgstr "" +msgstr "%[1]s, порты: %[2]s" #: arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" -msgstr "" +msgstr "%[1]s, версия протокола: %[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" -msgstr "" +msgstr "%s уже скачана" #: commands/upload/upload.go:541 msgid "%s and %s cannot be used together" -msgstr "" - -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "" +msgstr "%s не может быть использована вместе с %s" #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" -msgstr "" +msgstr "%s установлен" #: cli/lib/check_deps.go:99 msgid "%s is already installed." msgstr "%s уже установлено." #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" -msgstr "" +msgstr "%s не является директорией" #: arduino/cores/packagemanager/install_uninstall.go:283 msgid "%s is not managed by package manager" @@ -77,19 +74,19 @@ msgstr "" #: cli/lib/check_deps.go:96 msgid "%s must be installed." -msgstr "" +msgstr "%s должен быть установлен." #: legacy/builder/ctags_runner.go:42 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" -msgstr "" +msgstr "'%s' имеет неправильную сигнатуру " #: cli/board/listall.go:91 cli/board/search.go:89 msgid "(hidden)" -msgstr "" +msgstr "(скрытый)" #: legacy/builder/print_used_libraries_if_verbose.go:34 msgid "(legacy)" @@ -100,6 +97,7 @@ msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" +"--git-url и --zip-path отключены по умолчанию, для подробностей смотрите: %v" #: cli/lib/install.go:85 msgid "" @@ -109,9 +107,9 @@ msgstr "" #: cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" -msgstr "" +msgstr "Доступен новый релиз Arduino CLI:" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "" @@ -122,13 +120,13 @@ msgstr "" #: cli/generatedocs/generatedocs.go:80 msgid "ARDUINO COMMAND LINE MANUAL" -msgstr "" +msgstr "ИНСТРУКЦИЯ КОМАНДНОЙ СТРОКИ ARDUINO" #: cli/usage.go:32 msgid "Additional help topics:" msgstr "" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "" @@ -140,7 +138,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "" @@ -220,6 +218,18 @@ msgstr "" msgid "Author: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "" @@ -257,11 +267,15 @@ msgstr "Файл загрузчика указан но не существуе msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "" @@ -274,7 +288,7 @@ msgstr "" msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "" @@ -286,15 +300,15 @@ msgstr "" msgid "Can't use %s flags at the same time." msgstr "" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "" @@ -306,11 +320,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "" @@ -326,10 +340,6 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "" @@ -354,7 +364,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "" @@ -441,7 +451,7 @@ msgstr "" msgid "Core name" msgstr "" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "" @@ -485,11 +495,11 @@ msgid "" "Library Manager." msgstr "" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -603,7 +613,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "" @@ -667,16 +678,16 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "" @@ -721,7 +732,6 @@ msgid "Error downloading platform %s" msgstr "" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" @@ -793,7 +803,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "" @@ -809,7 +819,7 @@ msgstr "" msgid "Error getting port settings details: %s" msgstr "" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "" @@ -853,7 +863,7 @@ msgstr "" msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "" @@ -870,7 +880,7 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "" @@ -882,11 +892,11 @@ msgstr "" msgid "Error opening source code overrides data file: %v" msgstr "" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "" @@ -930,7 +940,7 @@ msgstr "" msgid "Error searching for Library: %v" msgstr "" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "" @@ -950,10 +960,6 @@ msgstr "" msgid "Error updating core and libraries index: %v" msgstr "" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "" @@ -1033,7 +1039,7 @@ msgstr "" msgid "Failed chip erase" msgstr "" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "" @@ -1053,19 +1059,19 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" @@ -1077,7 +1083,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "" @@ -1099,7 +1105,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1153,7 +1159,7 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "" @@ -1188,7 +1194,7 @@ msgstr "" msgid "Installed" msgstr "Установлено" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "" @@ -1198,7 +1204,7 @@ msgid "Installed version" msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "" @@ -1227,7 +1233,7 @@ msgstr "" msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1240,11 +1246,11 @@ msgstr "" msgid "Invalid Device URL format" msgstr "" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "" @@ -1273,7 +1279,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "" @@ -1281,7 +1287,7 @@ msgstr "" msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "" @@ -1297,7 +1303,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "" @@ -1309,11 +1315,11 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1321,11 +1327,11 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "" @@ -1360,12 +1366,16 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "" @@ -1373,7 +1383,7 @@ msgstr "" msgid "Library %s not found" msgstr "" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "" @@ -1382,11 +1392,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "" @@ -1478,19 +1488,19 @@ msgstr "" msgid "Missing '%[1]s' from library in %[2]s" msgstr "Пропущен '%[1]s' из библиотеки в %[2]s" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "" @@ -1498,11 +1508,11 @@ msgstr "" msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "" @@ -1514,7 +1524,7 @@ msgstr "" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Несколько библиотек найдено для \"%[1]s\"" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "" @@ -1550,11 +1560,11 @@ msgid "" "Did you mean...\n" msgstr "" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "" @@ -1570,7 +1580,7 @@ msgstr "" msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "" @@ -1713,11 +1723,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "" @@ -1757,13 +1767,13 @@ msgstr "" msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1777,7 +1787,7 @@ msgstr "Порт" msgid "Port closed:" msgstr "" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "" @@ -1806,11 +1816,11 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "" @@ -1826,7 +1836,7 @@ msgstr "" msgid "Programmers:" msgstr "" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "" @@ -1842,7 +1852,7 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1876,11 +1886,11 @@ msgstr "" msgid "Save build artifacts in this directory." msgstr "" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "" @@ -1900,7 +1910,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "" @@ -1916,11 +1926,11 @@ msgstr "" msgid "Setting" msgstr "" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "" @@ -2063,6 +2073,10 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "" @@ -2079,11 +2093,11 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2095,6 +2109,10 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2189,15 +2207,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "" @@ -2205,8 +2223,12 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "" @@ -2229,7 +2251,7 @@ msgstr "" msgid "Unknown" msgstr "" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2335,10 +2357,9 @@ msgstr "" msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "" @@ -2394,7 +2415,7 @@ msgid "Verify uploaded binary after the upload." msgstr "" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "" @@ -2480,7 +2501,7 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" @@ -2530,7 +2551,7 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2586,6 +2607,10 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "" @@ -2594,6 +2619,10 @@ msgstr "" msgid "could not overwrite" msgstr "" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" @@ -2618,11 +2647,11 @@ msgstr "" msgid "destination already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "" @@ -2630,11 +2659,11 @@ msgstr "" msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "" @@ -2650,6 +2679,10 @@ msgstr "" msgid "download the latest version of Arduino SAMD core." msgstr "" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "" @@ -2666,7 +2699,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr "" @@ -2690,7 +2723,7 @@ msgstr "" msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "" @@ -2742,7 +2775,7 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "" @@ -2768,7 +2801,7 @@ msgstr "" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "" @@ -2780,7 +2813,7 @@ msgstr "" msgid "importing sketch metadata: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "" @@ -2844,7 +2877,7 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "" @@ -2924,24 +2957,24 @@ msgstr "" msgid "key not found in settings" msgstr "" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "" @@ -2959,7 +2992,7 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "" @@ -2968,8 +3001,8 @@ msgstr "" msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -2994,7 +3027,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "" @@ -3030,7 +3063,7 @@ msgstr "" msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3051,7 +3084,7 @@ msgstr "" msgid "no executable specified" msgstr "" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "" @@ -3139,7 +3172,7 @@ msgstr "" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "" @@ -3167,22 +3200,22 @@ msgstr "" msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "" @@ -3202,7 +3235,7 @@ msgstr "" msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "" @@ -3239,7 +3272,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "" @@ -3255,11 +3288,11 @@ msgstr "" msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "" @@ -3279,10 +3312,6 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "" @@ -3358,7 +3387,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" diff --git a/i18n/data/zh.po b/i18n/data/zh.po index 5ccb33a8995..94a9f1d4977 100644 --- a/i18n/data/zh.po +++ b/i18n/data/zh.po @@ -3,10 +3,11 @@ # CLI team , 2022 # Kuo Szu-Wei, 2022 # cike567, 2022 +# ZW, 2022 # msgid "" msgstr "" -"Last-Translator: cike567, 2022\n" +"Last-Translator: ZW, 2022\n" "Language-Team: Chinese (https://www.transifex.com/arduino-1/teams/108174/zh/)\n" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -47,7 +48,7 @@ msgstr "%[1]s,端口:%[2]s" msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s,协议版本:%[2]d" -#: cli/output/rpc_progress.go:63 +#: arduino/resources/download.go:48 msgid "%s already downloaded" msgstr "%s 已经下载" @@ -55,10 +56,6 @@ msgstr "%s 已经下载" msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: cli/output/rpc_progress.go:75 -msgid "%s downloaded" -msgstr "%s 已下载" - #: arduino/cores/packagemanager/install_uninstall.go:329 msgid "%s installed" msgstr "%s 已安装" @@ -68,7 +65,7 @@ msgid "%s is already installed." msgstr "%s 已安装" #: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:641 +#: arduino/cores/packagemanager/loader.go:652 msgid "%s is not a directory" msgstr "%s 不是目录" @@ -84,7 +81,7 @@ msgstr "%s 必须安装" msgid "%s pattern is missing" msgstr "%s 模式丢失" -#: arduino/errors.go:781 +#: arduino/errors.go:782 msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" @@ -112,7 +109,7 @@ msgstr "--git-url 和 --zip-path 参数允许安装不受信任的文件,使 msgid "A new release of Arduino CLI is available:" msgstr "新版本的 Arduino CLI 可用:" -#: arduino/errors.go:299 +#: arduino/errors.go:300 msgid "A programmer is required to upload" msgstr "需要编译器上传" @@ -129,7 +126,7 @@ msgstr "ARDUINO 命令行手册" msgid "Additional help topics:" msgstr "更多帮助:" -#: cli/config/add.go:32 cli/config/add.go:33 +#: cli/config/add.go:74 cli/config/add.go:75 msgid "Adds one or more values to a setting." msgstr "将一个或多个值添加到设置中。" @@ -141,7 +138,7 @@ msgstr "别名:" msgid "All the cores are already at the latest version" msgstr "所有内核都是最新版本" -#: commands/lib/install.go:86 commands/lib/install.go:131 +#: commands/lib/install.go:87 commands/lib/install.go:132 msgid "Already installed %s" msgstr "已经安装 %s" @@ -221,6 +218,18 @@ msgstr "将项目写入开发板上。" msgid "Author: %s" msgstr "作者:%s" +#: arduino/libraries/librariesmanager/install.go:77 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/lib/uninstall.go:57 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + #: cli/lib/list.go:124 msgid "Available" msgstr "可用" @@ -258,11 +267,15 @@ msgstr "已指定引导加载程序文件,缺少:%[1]s" msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "‘core.a’的构建被保存到这个路径中,以便被缓存和重复使用。" +#: arduino/libraries/librariesmanager/install.go:58 +msgid "Builtin libraries directory not set" +msgstr "未设置内置库目录" + #: arduino/resources/index.go:45 msgid "Can't create data directory %s" msgstr "无法新建 %s 数据目录" -#: arduino/errors.go:487 +#: arduino/errors.go:488 msgid "Can't create sketch" msgstr "无法新建项目" @@ -275,7 +288,7 @@ msgstr "无法下载库" msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的依赖" -#: arduino/errors.go:500 +#: arduino/errors.go:501 msgid "Can't open sketch" msgstr "无法打开项目" @@ -287,15 +300,15 @@ msgstr "无法在 %v 键中设置多个值" msgid "Can't use %s flags at the same time." msgstr "不能同时使用 %s 参数" -#: cli/config/add.go:61 cli/config/delete.go:72 cli/config/remove.go:70 +#: cli/config/add.go:104 cli/config/delete.go:72 cli/config/remove.go:70 msgid "Can't write config file: %v" msgstr "无法写入配置文件:%v" -#: commands/compile/compile.go:163 +#: commands/compile/compile.go:160 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/compile/compile.go:138 +#: commands/compile/compile.go:135 msgid "Cannot create build directory" msgstr "无法新建构建目录" @@ -307,11 +320,11 @@ msgstr "无法新建配置文件目录:%v" msgid "Cannot create config file: %v" msgstr "无法新建配置文件:%v" -#: arduino/errors.go:744 +#: arduino/errors.go:745 msgid "Cannot create temp dir" msgstr "无法新建临时目录" -#: arduino/errors.go:762 +#: arduino/errors.go:763 msgid "Cannot create temp file" msgstr "无法新建临时文件" @@ -327,10 +340,6 @@ msgstr "无法导出项目元数据" msgid "Cannot find absolute path: %v" msgstr "找不到绝对路径:%v" -#: configuration/configuration.go:148 configuration/configuration.go:154 -msgid "Cannot get executable path: %v" -msgstr "无法获得可执行路径:%v" - #: arduino/cores/packagemanager/install_uninstall.go:139 msgid "Cannot install platform" msgstr "无法安装平台" @@ -355,7 +364,7 @@ msgstr "类别:%s" msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" -#: commands/lib/install.go:136 +#: commands/lib/install.go:137 msgid "Checking lib install prerequisites" msgstr "检查依赖安装前提条件" @@ -442,7 +451,7 @@ msgstr "内核" msgid "Core name" msgstr "内核名" -#: arduino/httpclient/httpclient.go:102 +#: arduino/httpclient/httpclient.go:106 msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" @@ -486,11 +495,11 @@ msgid "" "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: cli/core/list.go:88 cli/core/search.go:118 +#: cli/core/list.go:88 cli/core/search.go:114 msgid "DEPRECATED" msgstr "已弃用" -#: cli/daemon/daemon.go:181 +#: cli/daemon/daemon.go:184 msgid "Daemon is now listening on %s:%s" msgstr "守护进程正在监听 %s:%s" @@ -604,7 +613,8 @@ msgstr "正在下载 %s" msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: arduino/resources/index.go:58 commands/instances.go:520 +#: arduino/resources/index.go:58 commands/instances.go:510 +#: commands/instances.go:519 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" @@ -668,16 +678,16 @@ msgstr "计算相对文件路径时出错" msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:260 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" -#: cli/core/search.go:66 cli/instance/instance.go:50 +#: cli/core/search.go:65 cli/instance/instance.go:50 #: cli/instance/instance.go:178 cli/lib/search.go:59 msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/compile/compile.go:261 +#: commands/compile/compile.go:240 msgid "Error creating output dir" msgstr "新建输出目录时出错" @@ -722,7 +732,6 @@ msgid "Error downloading platform %s" msgstr "下载 %s 平台时出错" #: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/download.go:132 #: arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" @@ -794,7 +803,7 @@ msgstr "从 Arduino Cloud 获取开发板信息时出错" msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" -#: commands/compile/compile.go:229 commands/lib/list.go:108 +#: commands/compile/compile.go:208 commands/lib/list.go:109 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" @@ -810,7 +819,7 @@ msgstr "获取端口元数据出错:%v" msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" -#: cli/core/search.go:81 cli/instance/instance.go:55 cli/lib/search.go:73 +#: cli/core/search.go:77 cli/instance/instance.go:55 cli/lib/search.go:73 #: cli/update/update.go:71 msgid "Error initializing instance: %v" msgstr "初始化实例时出错:%v" @@ -854,7 +863,7 @@ msgstr "列出开发板列表时出错:%v" msgid "Error listing platforms: %v" msgstr "列出平台列表时出错:%v" -#: arduino/errors.go:402 +#: arduino/errors.go:403 msgid "Error loading hardware platform" msgstr "加载硬件平台时出错" @@ -871,7 +880,7 @@ msgstr "加载 %s 索引时出错" msgid "Error opening %s" msgstr "打开 %s 时出错" -#: cli/daemon/daemon.go:88 +#: cli/daemon/daemon.go:91 msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" @@ -883,11 +892,11 @@ msgstr "打开项目时出错:%v" msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: commands/compile/compile.go:271 +#: commands/compile/compile.go:250 msgid "Error reading build directory" msgstr "读取构建目录时出错" -#: configuration/configuration.go:69 +#: configuration/configuration.go:68 msgid "Error reading config file: %v" msgstr "读取配置文件时出错:%v" @@ -931,7 +940,7 @@ msgstr "搜索开发板时错误:%v" msgid "Error searching for Library: %v" msgstr "搜索库时出错:%v" -#: cli/core/search.go:93 +#: cli/core/search.go:89 msgid "Error searching for platforms: %v" msgstr "搜索平台时出错:%v" @@ -941,7 +950,7 @@ msgstr "序列化编译数据库时出错:%s" #: cli/board/list.go:75 msgid "Error starting discovery: %v" -msgstr "" +msgstr "启动时发现出错:%v" #: cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" @@ -951,10 +960,6 @@ msgstr "卸载 %[1]s 时出错:%[2]v" msgid "Error updating core and libraries index: %v" msgstr "更新核心和库索引时出错:%v" -#: cli/core/search.go:75 cli/core/update_index.go:52 -msgid "Error updating index: %v" -msgstr "更新索引时出错:%v" - #: cli/instance/instance.go:187 msgid "Error updating indexes: %v" msgstr "更新索引时出错:%v" @@ -965,7 +970,7 @@ msgstr "更新库索引时出错:%v" #: cli/lib/upgrade.go:68 msgid "Error upgrading libraries" -msgstr "" +msgstr "升级库时出错" #: arduino/cores/packagemanager/install_uninstall.go:149 msgid "Error upgrading platform: %s" @@ -1034,7 +1039,7 @@ msgstr "FQBN:" msgid "Failed chip erase" msgstr "芯片擦除失败" -#: cli/daemon/daemon.go:155 +#: cli/daemon/daemon.go:158 msgid "Failed choosing port, address: %s" msgstr "选择端口失败,地址:%s" @@ -1054,19 +1059,19 @@ msgstr "新建数据目录失败" msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" -#: cli/daemon/daemon.go:134 +#: cli/daemon/daemon.go:137 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "未能侦听TCP端口:%[1]s。%[2]s 是无效端口。" -#: cli/daemon/daemon.go:128 +#: cli/daemon/daemon.go:131 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "未能侦听TCP端口:%[1]s。%[2]s 是未知名称。" -#: cli/daemon/daemon.go:143 +#: cli/daemon/daemon.go:146 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "未能侦听TCP端口:%[1]s。意外错误:%[2]v" -#: cli/daemon/daemon.go:140 +#: cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听TCP端口:%s。地址已被使用。" @@ -1078,7 +1083,7 @@ msgstr "上传失败" msgid "File:" msgstr "文件:" -#: commands/daemon/debug.go:47 +#: commands/daemon/debug.go:46 msgid "First message must contain debug request, not data" msgstr "第一条消息必须包含调试请求,而不是数据" @@ -1100,7 +1105,7 @@ msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "强制跳过安装后脚本(如果 CLI 以交互方式运行)。" -#: arduino/errors.go:802 +#: arduino/errors.go:803 msgid "" "Found %d platform for reference \"%s\":\n" "%s" @@ -1154,7 +1159,7 @@ msgstr " 个全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存,剩 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" -#: cli/core/list.go:84 cli/core/search.go:114 cli/monitor/monitor.go:195 +#: cli/core/list.go:84 cli/core/search.go:110 cli/monitor/monitor.go:195 #: cli/outdated/outdated.go:80 msgid "ID" msgstr "ID" @@ -1189,7 +1194,7 @@ msgstr "在存档中包含 %s 目录。" msgid "Installed" msgstr "已安装" -#: commands/lib/install.go:147 +#: commands/lib/install.go:152 msgid "Installed %s" msgstr "已安装 %s" @@ -1199,7 +1204,7 @@ msgid "Installed version" msgstr "已安装的版本" #: arduino/cores/packagemanager/install_uninstall.go:312 -#: commands/lib/install.go:127 +#: commands/lib/install.go:128 msgid "Installing %s" msgstr "正在安装 %s" @@ -1228,7 +1233,7 @@ msgstr "在系统中安装一个或多个指定的库。" msgid "Internal error in cache" msgstr "缓存中的内部错误" -#: arduino/errors.go:355 +#: arduino/errors.go:356 msgid "Invalid '%[1]s' property: %[2]s" msgstr "无效的 ‘%[1]s’ 属性:%[2]s" @@ -1241,11 +1246,11 @@ msgstr "无效调用:应显示帮助,但仅在文本模式下可用。" msgid "Invalid Device URL format" msgstr "设备地址格式无效" -#: arduino/errors.go:61 +#: arduino/errors.go:62 msgid "Invalid FQBN" msgstr "无效的 FQBN" -#: arduino/errors.go:79 +#: arduino/errors.go:80 msgid "Invalid URL" msgstr "无效的地址" @@ -1274,7 +1279,7 @@ msgstr "提供的设备端口类型无效" msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: arduino/errors.go:47 +#: arduino/errors.go:48 msgid "Invalid instance" msgstr "无效的实例" @@ -1282,7 +1287,7 @@ msgstr "无效的实例" msgid "Invalid item %s" msgstr "无效的 %s 条目" -#: arduino/errors.go:97 +#: arduino/errors.go:98 msgid "Invalid library" msgstr "无效的库" @@ -1298,7 +1303,7 @@ msgstr "--log-level 选项无效:%s" msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:515 +#: commands/instances.go:522 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1310,11 +1315,11 @@ msgstr "无效 %s 参数:版本不允许" msgid "Invalid pid value: '%s'" msgstr "无效的pid值:‘%s’" -#: arduino/errors.go:221 +#: arduino/errors.go:222 msgid "Invalid profile" msgstr "无效的配置文件" -#: commands/monitor/monitor.go:135 +#: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法无效" @@ -1322,11 +1327,11 @@ msgstr "platform.txt 中的方法无效" msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" -#: cli/core/search.go:138 +#: cli/core/search.go:134 msgid "Invalid timeout: %s" msgstr "超时无效:%s" -#: arduino/errors.go:115 +#: arduino/errors.go:116 msgid "Invalid version" msgstr "无效的版本" @@ -1361,12 +1366,16 @@ msgstr "最新的" msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" -#: commands/lib/install.go:95 +#: commands/lib/install.go:96 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "库 %[1]s 已经安装,但有不同的版本。:%[2]s" -#: commands/lib/uninstall.go:37 +#: commands/lib/upgrade.go:59 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/lib/uninstall.go:39 msgid "Library %s is not installed" msgstr "%s 库未安装" @@ -1374,7 +1383,7 @@ msgstr "%s 库未安装" msgid "Library %s not found" msgstr "未找到 %s 库" -#: arduino/errors.go:421 +#: arduino/errors.go:422 msgid "Library '%s' not found" msgstr "未找到 %s 库" @@ -1383,11 +1392,11 @@ msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3]s’ 再次检查。" -#: arduino/errors.go:537 +#: arduino/errors.go:538 msgid "Library install failed" msgstr "库安装失败" -#: commands/lib/install.go:157 commands/lib/install.go:167 +#: commands/lib/install.go:162 commands/lib/install.go:172 msgid "Library installed" msgstr "已安装的库" @@ -1479,19 +1488,19 @@ msgstr "记录此级别及以上的消息。有效级别为 %s" msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 中的库中缺少 ‘%[1]s’" -#: arduino/errors.go:170 +#: arduino/errors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "缺少 FQBN(完全合格开发板名)" -#: arduino/errors.go:261 +#: arduino/errors.go:262 msgid "Missing port" msgstr "找不到端口" -#: arduino/errors.go:237 arduino/errors.go:249 +#: arduino/errors.go:238 arduino/errors.go:250 msgid "Missing port protocol" msgstr "找不到端口协议" -#: arduino/errors.go:287 +#: arduino/errors.go:288 msgid "Missing programmer" msgstr "找不到编译器" @@ -1499,11 +1508,11 @@ msgstr "找不到编译器" msgid "Missing size regexp" msgstr "缺少大小正则表达式" -#: arduino/errors.go:473 +#: arduino/errors.go:474 msgid "Missing sketch path" msgstr "缺少项目路径" -#: arduino/errors.go:336 +#: arduino/errors.go:337 msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" @@ -1515,7 +1524,7 @@ msgstr "监视端口设置:" msgid "Multiple libraries were found for \"%[1]s\"" msgstr "为 “%[1]s” 找到了多个库" -#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:114 +#: cli/board/details.go:193 cli/core/list.go:84 cli/core/search.go:110 #: cli/lib/list.go:124 cli/outdated/outdated.go:80 msgid "Name" msgstr "名" @@ -1553,11 +1562,11 @@ msgstr "" "没有与您的搜索匹配的库。\n" "你的意思是。。。\n" -#: arduino/errors.go:275 +#: arduino/errors.go:276 msgid "No monitor available for the port protocol %s" msgstr "没有可用于端口协议 %s 的监视器" -#: cli/core/search.go:124 +#: cli/core/search.go:120 msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" @@ -1573,7 +1582,7 @@ msgstr "没有可用的更新。" msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" -#: arduino/errors.go:440 +#: arduino/errors.go:441 msgid "No valid dependencies solution found" msgstr "找不到有效的依赖解决方案" @@ -1718,11 +1727,11 @@ msgstr "" msgid "Platform %s uninstalled" msgstr "%s 平台已卸载" -#: arduino/errors.go:458 +#: arduino/errors.go:459 msgid "Platform '%s' is already at the latest version" msgstr "‘%s’ 平台已经是最新版本" -#: arduino/errors.go:384 +#: arduino/errors.go:385 msgid "Platform '%s' not found" msgstr "未找到 ‘%s’ 平台" @@ -1762,13 +1771,13 @@ msgstr "平台名称:" msgid "Platform size (bytes):" msgstr "平台大小(字节):" -#: arduino/errors.go:154 +#: arduino/errors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "请指定一个FQBN。在 %[1]s 端口上检测到多个可能的开发板,协议为 %[2]s" -#: arduino/errors.go:134 +#: arduino/errors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1782,7 +1791,7 @@ msgstr "端口" msgid "Port closed:" msgstr "端口关闭:" -#: arduino/errors.go:631 +#: arduino/errors.go:632 msgid "Port monitor error" msgstr "端口监视器错误" @@ -1811,11 +1820,11 @@ msgstr "打印当前配置" msgid "Prints the current configuration." msgstr "打印当前配置。" -#: arduino/errors.go:203 +#: arduino/errors.go:204 msgid "Profile '%s' not found" msgstr "未找到 ‘%s’ 的配置文件''。" -#: arduino/errors.go:317 +#: arduino/errors.go:318 msgid "Programmer '%s' not found" msgstr "未找到 ‘%s’ 编译器" @@ -1831,7 +1840,7 @@ msgstr "要使用的编译器,例如:atmel_ice" msgid "Programmers:" msgstr "编译器:" -#: arduino/errors.go:369 +#: arduino/errors.go:370 msgid "Property '%s' is undefined" msgstr "‘%s’ 属性未定义" @@ -1847,7 +1856,7 @@ msgstr "提供包括:%s" msgid "Removes one or more values from a setting." msgstr "从设置中删除一个或多个值。" -#: commands/lib/install.go:140 +#: commands/lib/install.go:141 msgid "Replacing %[1]s with %[2]s" msgstr "将 %[1]s 替换为 %[2]s" @@ -1881,11 +1890,11 @@ msgstr "正在运行正常的内核构建。。。" msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" -#: cli/core/search.go:50 +#: cli/core/search.go:49 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "使用指定的关键字在开发板管理器中搜索内核。" -#: cli/core/search.go:49 +#: cli/core/search.go:48 msgid "Search for a core in Boards Manager." msgstr "在开发板管理器中搜索内核。" @@ -1905,7 +1914,7 @@ msgstr "选择FQBN:%s" msgid "Sentence: %s" msgstr "句子:%s" -#: arduino/httpclient/httpclient.go:63 +#: arduino/httpclient/httpclient.go:67 msgid "Server responded with: %s" msgstr "服务器响应:%s" @@ -1921,11 +1930,11 @@ msgstr "设置保存配置文件的位置。" msgid "Setting" msgstr "设置" -#: cli/config/delete.go:62 cli/config/validate.go:49 +#: cli/config/delete.go:62 cli/config/validate.go:51 msgid "Settings key doesn't exist" msgstr "设置键不存在" -#: cli/core/search.go:55 +#: cli/core/search.go:54 msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" @@ -2068,6 +2077,10 @@ msgstr "跳过平台配置。" msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" +#: commands/instances.go:542 +msgid "Some indexes could not be updated." +msgstr "" + #: arduino/serialutils/serialutils.go:133 msgid "TOUCH: error during reset: %s" msgstr "TOUCH:重置时出错:%s" @@ -2084,11 +2097,11 @@ msgstr "守护进程将监听的 TCP 端口" msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" -#: cli/daemon/daemon.go:79 +#: cli/daemon/daemon.go:82 msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" -#: cli/config/add.go:52 +#: cli/config/add.go:94 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2104,6 +2117,10 @@ msgstr "" "‘%[1]v’ 键不是列表中的条目,无法从中删除。\n" "是否可以使用 ‘%[2]s’?" +#: arduino/errors.go:825 +msgid "The library %s has multiple installations:" +msgstr "" + #: cli/compile/compile.go:116 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " @@ -2198,15 +2215,15 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" -#: configuration/configuration.go:126 +#: configuration/configuration.go:125 msgid "Unable to get Documents Folder: %v" msgstr "无法获取文档文件夹:%v" -#: configuration/configuration.go:101 +#: configuration/configuration.go:100 msgid "Unable to get Local App Data Folder: %v" msgstr "无法获取本地应用程序数据文件夹:%v" -#: configuration/configuration.go:89 configuration/configuration.go:114 +#: configuration/configuration.go:88 configuration/configuration.go:113 msgid "Unable to get user home dir: %v" msgstr "无法获取用户主目录:%v" @@ -2214,8 +2231,12 @@ msgstr "无法获取用户主目录:%v" msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" +#: commands/instances.go:509 +msgid "Unable to parse URL" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:273 -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:44 msgid "Uninstalling %s" msgstr "正在卸载 %s" @@ -2238,7 +2259,7 @@ msgstr "卸载一个或多个库。" msgid "Unknown" msgstr "未知" -#: arduino/errors.go:184 +#: arduino/errors.go:185 msgid "Unknown FQBN" msgstr "未知 FQBN" @@ -2344,10 +2365,9 @@ msgstr "已使用的平台" msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: arduino/libraries/librariesmanager/install.go:69 -#: arduino/libraries/librariesmanager/install.go:85 -#: arduino/libraries/librariesmanager/install.go:107 -#: arduino/libraries/librariesmanager/install.go:191 +#: arduino/libraries/librariesmanager/install.go:56 +#: arduino/libraries/librariesmanager/install.go:119 +#: arduino/libraries/librariesmanager/install.go:203 msgid "User directory not set" msgstr "未设置用户目录" @@ -2403,7 +2423,7 @@ msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" #: cli/compile/compile.go:390 cli/compile/compile.go:404 -#: cli/core/search.go:114 +#: cli/core/search.go:110 msgid "Version" msgstr "版本" @@ -2485,7 +2505,7 @@ msgstr "和" msgid "archive hash differs from hash in index" msgstr "存档哈希与索引中的哈希不同" -#: arduino/libraries/librariesmanager/install.go:138 +#: arduino/libraries/librariesmanager/install.go:150 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存档无效:在 zip 文件顶层中找到多个文件" @@ -2535,7 +2555,7 @@ msgstr "找不到 %s 工具的最新版本" msgid "can't find main Sketch file in %s" msgstr "在 %s 中找不到主项目文件" -#: arduino/cores/packagemanager/loader.go:814 +#: arduino/cores/packagemanager/loader.go:825 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 为 %s 的 discovery" @@ -2591,6 +2611,10 @@ msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" msgid "computing hash: %s" msgstr "计算哈希:%s" +#: arduino/libraries/librariesmanager/install.go:227 +msgid "could not create directory %s: a file with the same name exists!" +msgstr "" + #: commands/upload/upload.go:623 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" @@ -2599,6 +2623,10 @@ msgstr "找不到有效的构建项目" msgid "could not overwrite" msgstr "无法覆盖" +#: commands/lib/install.go:149 +msgid "could not remove old library" +msgstr "" + #: arduino/cores/packagemanager/install_uninstall.go:208 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s 中创建installed.json:%[2]s" @@ -2623,11 +2651,11 @@ msgstr "‘%s’ 依赖不可用" msgid "destination already exists" msgstr "目标已存在" -#: arduino/libraries/librariesmanager/install.go:76 +#: arduino/libraries/librariesmanager/install.go:90 msgid "destination dir %s already exists, cannot install" msgstr "%s 目录已经存在,无法安装" -#: arduino/libraries/librariesmanager/install.go:294 +#: arduino/libraries/librariesmanager/install.go:308 msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" @@ -2635,11 +2663,11 @@ msgstr "目录不存在:%s" msgid "discovery %[1]s process not started: %[2]w" msgstr "发现 %[1]s 进程未启动:%[2]w" -#: arduino/cores/packagemanager/loader.go:745 +#: arduino/cores/packagemanager/loader.go:756 msgid "discovery %s not found" msgstr "未找到 %s discovery" -#: arduino/cores/packagemanager/loader.go:749 +#: arduino/cores/packagemanager/loader.go:760 msgid "discovery %s not installed" msgstr "%s discovery 未安装" @@ -2655,6 +2683,10 @@ msgstr "下载特定版本(在本例中为 1.6.9)。" msgid "download the latest version of Arduino SAMD core." msgstr "下载最新版本的 Arduino SAMD 内核。" +#: cli/output/rpc_progress.go:85 +msgid "downloaded" +msgstr "" + #: commands/instances.go:138 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下载 %[1]s 工具:%[2]s" @@ -2671,7 +2703,7 @@ msgstr "编译项目元数据:%s" msgid "error loading sketch project file:" msgstr "加载项目文件时错误:" -#: arduino/cores/packagemanager/loader.go:639 +#: arduino/cores/packagemanager/loader.go:650 msgid "error opening %s" msgstr " 开启 %s 时错误" @@ -2695,7 +2727,7 @@ msgstr "查询 Arduino Cloud Api 时出错" msgid "extracting archive: %s" msgstr "正在提取存档:%s" -#: arduino/libraries/librariesmanager/install.go:126 +#: arduino/libraries/librariesmanager/install.go:138 msgid "extracting archive: %w" msgstr "正在提取存档:%w" @@ -2747,7 +2779,7 @@ msgstr "正在生成安装 id: %w" msgid "generating installation.secret: %w" msgstr "生成 installation.secret:%w" -#: arduino/resources/download.go:56 +#: arduino/resources/download.go:52 msgid "getting archive file info: %s" msgstr "正在获取存档文件信息:%s" @@ -2773,7 +2805,7 @@ msgstr "获取 %[1]s 平台的discovery依赖:%[2]s" msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的监视器依赖项:%[2]s" -#: arduino/cores/packagemanager/loader.go:700 +#: arduino/cores/packagemanager/loader.go:711 msgid "getting parent dir of %[1]s: %[2]s" msgstr "正在获取 %[1]s 的父目录:%[2]s" @@ -2785,7 +2817,7 @@ msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" msgid "importing sketch metadata: %s" msgstr "正在导入项目元数据:%s" -#: arduino/libraries/librariesmanager/install.go:93 +#: arduino/libraries/librariesmanager/install.go:103 msgid "install directory not set" msgstr "未设置安装目录" @@ -2849,7 +2881,7 @@ msgstr "无效的空库版本:%s" msgid "invalid empty option found" msgstr "发现无效的空选项" -#: arduino/libraries/librariesmanager/install.go:284 +#: arduino/libraries/librariesmanager/install.go:298 msgid "invalid git url" msgstr "无效的git地址" @@ -2929,24 +2961,24 @@ msgstr "无效的版本:" msgid "key not found in settings" msgstr "在设置中找不到键" -#: cli/core/search.go:48 +#: cli/core/search.go:47 msgid "keywords" msgstr "关键字" -#: arduino/libraries/librariesmanager/install.go:164 -#: arduino/libraries/librariesmanager/install.go:207 +#: arduino/libraries/librariesmanager/install.go:176 +#: arduino/libraries/librariesmanager/install.go:218 msgid "library %s already installed" msgstr "%s 库已安装" -#: arduino/libraries/librariesmanager/install.go:39 +#: arduino/libraries/librariesmanager/install.go:40 msgid "library already installed" msgstr "库已安装" -#: arduino/libraries/librariesmanager/install.go:331 +#: arduino/libraries/librariesmanager/install.go:345 msgid "library not valid" msgstr "库无效" -#: arduino/libraries/librariesmanager/librariesmanager.go:226 +#: arduino/libraries/librariesmanager/librariesmanager.go:188 msgid "library path does not exist: %s" msgstr "库路径不存在:%s" @@ -2964,7 +2996,7 @@ msgstr "正在加载 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: arduino/cores/packagemanager/loader.go:655 +#: arduino/cores/packagemanager/loader.go:666 msgid "loading bundled tools from %s" msgstr "正在从 %s 下载附加工具" @@ -2973,8 +3005,8 @@ msgstr "正在从 %s 下载附加工具" msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:205 -#: arduino/libraries/librariesmanager/librariesmanager.go:231 +#: arduino/libraries/librariesmanager/librariesmanager.go:170 +#: arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "loading library from %[1]s: %[2]s" msgstr "正在从 %[1]s 加载库:%[2]s" @@ -2999,7 +3031,7 @@ msgstr "安装所需 %s 平台" msgid "loading required tool %s" msgstr "安装所需 %s 工具" -#: arduino/cores/packagemanager/loader.go:614 +#: arduino/cores/packagemanager/loader.go:625 msgid "loading tool release in %s" msgstr "在 %s 中加载工具发行版本" @@ -3035,7 +3067,7 @@ msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" -#: arduino/libraries/librariesmanager/install.go:181 +#: arduino/libraries/librariesmanager/install.go:193 #: arduino/resources/install.go:94 msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" @@ -3056,7 +3088,7 @@ msgstr "没有找到 %s 工具与当前操作系统兼容的版本" msgid "no executable specified" msgstr "没有指定可执行文件" -#: commands/daemon/daemon.go:102 +#: commands/daemon/daemon.go:101 msgid "no instance specified" msgstr "没有指定实例" @@ -3144,7 +3176,7 @@ msgstr "%s 平台未安装" #: arduino/cores/packagemanager/install_uninstall.go:228 #: arduino/cores/packagemanager/install_uninstall.go:276 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:101 +#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:98 msgid "platform not installed" msgstr "平台未安装" @@ -3172,22 +3204,22 @@ msgstr "不支持协议版本:请求了 %[1]d,获得了 %[2]d" msgid "protocol version not supported: requested 1, got %d" msgstr "不支持协议版本:请求 1,得到 %d" -#: arduino/cores/packagemanager/loader.go:705 +#: arduino/cores/packagemanager/loader.go:716 msgid "reading %[1]s: %[2]s" msgstr "正在读取 %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:196 +#: arduino/libraries/librariesmanager/librariesmanager.go:161 msgid "reading dir %[1]s: %[2]s" msgstr "正在读取 %[1]s 目录 : %[2]s" #: arduino/cores/packagemanager/loader.go:71 #: arduino/cores/packagemanager/loader.go:153 #: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:606 +#: arduino/cores/packagemanager/loader.go:617 msgid "reading directory %s" msgstr "正在读取 %s 目录" -#: arduino/libraries/librariesmanager/install.go:304 +#: arduino/libraries/librariesmanager/install.go:318 msgid "reading directory %s content: %w" msgstr "正在读取 %s 目录的内容:%w" @@ -3207,7 +3239,7 @@ msgstr "正在读取库存文件:%w" msgid "reading lib headers: %s" msgstr "正在读取 lib 头文件:%s" -#: arduino/libraries/libraries.go:235 +#: arduino/libraries/libraries.go:234 msgid "reading lib src dir: %s" msgstr "正在读取 lib src 目录:%s" @@ -3244,7 +3276,7 @@ msgstr "发行不能为无" msgid "removing corrupted archive file: %s" msgstr "正在删除损坏的存档文件:%s" -#: arduino/libraries/librariesmanager/install.go:96 +#: arduino/libraries/librariesmanager/install.go:106 msgid "removing lib directory: %s" msgstr "正在删除lib目录:%s" @@ -3260,11 +3292,11 @@ msgstr "找不到 %[2]s 平台所需的 %[1]s 版本" msgid "retrieving Arduino public keys: %s" msgstr "正在检索Arduino密钥:%s" -#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:140 +#: arduino/libraries/loader.go:109 arduino/libraries/loader.go:141 msgid "scanning examples: %s" msgstr "扫描示例:%s" -#: arduino/cores/packagemanager/loader.go:691 +#: arduino/cores/packagemanager/loader.go:702 msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" msgstr "在 %[1]s 中搜索 builtin_tools_versions.txt:%[2]s" @@ -3284,17 +3316,13 @@ msgstr "项目路径无效" msgid "sketchPath" msgstr "项目路径" -#: arduino/cores/packagemanager/loader.go:520 -msgid "skipping loading of boards %s: malformed custom board options" -msgstr "跳过加载 %s 开发板:格式错误的自定义开发板选项" - #: legacy/builder/utils/utils.go:430 msgid "source is not a directory" msgstr "来源不是目录" #: arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" -msgstr "" +msgstr "开始发现 %s" #: arduino/resources/checksums.go:119 msgid "testing archive checksum: %s" @@ -3363,7 +3391,7 @@ msgstr "找不到发行工具:%s" msgid "tool version %s not found" msgstr "未找到工具的 %s 版本" -#: commands/lib/install.go:59 +#: commands/lib/install.go:60 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要 %[1]s 库的两个不同版本:%[2]s 和 %[3]s" From bdd0cf9267926f81b91ddbde30189dac6eeb1829 Mon Sep 17 00:00:00 2001 From: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> Date: Thu, 20 Oct 2022 11:04:06 +0200 Subject: [PATCH 07/68] [skip-changelog] Remove useless go.sum and CI check (#1932) --- .github/workflows/check-go-task.yml | 1 - commands/daemon/term_example/go.sum | 341 ---------------------------- 2 files changed, 342 deletions(-) delete mode 100644 commands/daemon/term_example/go.sum diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 62909f2f037..cbe4223f1a7 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -220,7 +220,6 @@ jobs: - path: ./ - path: arduino/discovery/discovery_client - path: client_example - - path: commands/daemon/term_example - path: docsgen steps: diff --git a/commands/daemon/term_example/go.sum b/commands/daemon/term_example/go.sum deleted file mode 100644 index 53074d4c2d1..00000000000 --- a/commands/daemon/term_example/go.sum +++ /dev/null @@ -1,341 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/arduino/board-discovery v0.0.0-20180823133458-1ba29327fb0c/go.mod h1:HK7SpkEax/3P+0w78iRQx1sz1vCDYYw9RXwHjQTB5i8= -github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.2.0/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.6.1/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= -github.com/arduino/go-properties-orderedmap v1.5.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= -github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= -github.com/arduino/go-win32-utils v0.0.0-20180330194947-ed041402e83b/go.mod h1:iIPnclBMYm1g32Q5kXoqng4jLhMStReIP7ZxaoUC2y8= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cmaglie/go.rice v1.0.3/go.mod h1:AF3bOWkvdOpp8/S3UL8qbQ4N7DiISIbJtj54GWFPAsc= -github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/codeclysm/cc v1.2.2/go.mod h1:XtW4ArCNgQwFphcRGG9+sPX5WM1J6/u0gMy5ZdV3obA= -github.com/codeclysm/extract/v3 v3.0.2/go.mod h1:NKsw+hqua9H+Rlwy/w/3Qgt9jDonYEgB6wJu+25eOKw= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/goselect v0.1.1/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CLnGVd57E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fluxio/iohelpers v0.0.0-20160419043813-3a4dd67a94d2/go.mod h1:c7sGIpDbBo0JZZ1tKyC1p5smWf8QcUjK4bFtZjHAecg= -github.com/fluxio/multierror v0.0.0-20160419044231-9c68d39025e5/go.mod h1:BEUDl7FG1cc76sM0J0x8dqr6RhiL4uqvk6oFkwuNyuM= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/h2non/filetype v1.0.6/go.mod h1:isekKqOuhMj+s/7r3rIeTErIRy4Rub5uBWHfvMusLMU= -github.com/h2non/filetype v1.0.8/go.mod h1:isekKqOuhMj+s/7r3rIeTErIRy4Rub5uBWHfvMusLMU= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/clock v0.0.0-20180524022203-d293bb356ca4/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= -github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/retry v0.0.0-20160928201858-1998d01ba1c3/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= -github.com/juju/testing v0.0.0-20200510222523-6c8c298c77a0/go.mod h1:hpGvhGHPVbNBraRLZEhoQwFLMrjK8PSlO4D3nDjKYXo= -github.com/juju/utils v0.0.0-20180808125547-9dfc6dbfb02b/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= -github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mdlayher/genetlink v0.0.0-20190313224034-60417448a851/go.mod h1:EsbsAEUEs15qC1cosAwxgCWV0Qhd8TmkxnA9Kw1Vhl4= -github.com/mdlayher/netlink v0.0.0-20190313131330-258ea9dff42c/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA= -github.com/mdlayher/taskstats v0.0.0-20190313225729-7cbba52ee072/go.mod h1:sGdS7A6CAETR53zkdjGkgoFlh1vSm7MtX+i8XfEsTMA= -github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/oleksandr/bonjour v0.0.0-20160508152359-5dcf00d8b228/go.mod h1:MGuVJ1+5TX1SCoO2Sx0eAnjpdRytYla2uC1YIZfkC9c= -github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmylund/sortutil v0.0.0-20120526081524-abeda66eb583/go.mod h1:sFPiU/UgDcsQVu3vkqpZLCXWFwUoQRpHGu9ATihPAl0= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e/go.mod h1:tm/wZFQ8e24NYaBGIlnO2WGCAi67re4HHuOm0sftE/M= -github.com/segmentio/objconv v1.0.1/go.mod h1:auayaH5k3137Cl4SoXTgrzQcuQDmvuVtZgS0fb1Ahys= -github.com/segmentio/stats/v4 v4.5.3/go.mod h1:LsaahUJR7iiSs8mnkvQvdQ/RLHAS5adGLxuntg0ydGo= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.0.1-0.20200710201246-675ae5f5a98c/go.mod h1:aeNIJzz/GSSVlS+gpCpQWZ83BKbsoW57mr90+YthtkQ= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= -github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= -go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= -go.bug.st/relaxed-semver v0.0.0-20190922224835-391e10178d18/go.mod h1:Cx1VqMtEhE9pIkEyUj3LVVVPkv89dgW8aCKrRPDR/uE= -go.bug.st/serial v1.1.2/go.mod h1:VmYBeyJWp5BnJ0tw2NUJHZdJTGl2ecBGABHlzRK1knY= -go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125 h1:Ugb8sMTWuWRC3+sz5WeN/4kejDx9BvIwnPUiJBjJE+8= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6 h1:cdsMqa2nXzqlgs183pHxtvoVwU7CyzaCTAUOg94af4c= -golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20210504143626-3b2ad6ccc450 h1:iSifhRHb9+Pi325BWlAfpJbuG2YXlBoHE2aEFJY/Pg8= -google.golang.org/genproto v0.0.0-20210504143626-3b2ad6ccc450/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= -gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From f0479ba12ad74c499408664c6031447bcfe95e22 Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:17:25 +0200 Subject: [PATCH 08/68] [skip-changelog] Add function to spawn a server that responds with error code (#1936) --- internal/integrationtest/http_server.go | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/internal/integrationtest/http_server.go b/internal/integrationtest/http_server.go index 951845e900c..c5f06e9557a 100644 --- a/internal/integrationtest/http_server.go +++ b/internal/integrationtest/http_server.go @@ -51,3 +51,31 @@ func (env *Environment) HTTPServeFile(port uint16, path *paths.Path) *url.URL { return fileURL } + +// HTTPServeFileError spawns an http server that serves a single file and responds +// with the given error code. +func (env *Environment) HTTPServeFileError(port uint16, path *paths.Path, code int) *url.URL { + mux := http.NewServeMux() + mux.HandleFunc("/"+path.Base(), func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(code) + }) + server := &http.Server{ + Addr: fmt.Sprintf(":%d", port), + Handler: mux, + } + + t := env.T() + fileURL, err := url.Parse(fmt.Sprintf("http://127.0.0.1:%d/%s", port, path.Base())) + require.NoError(t, err) + + go func() { + err := server.ListenAndServe() + require.Equal(t, err, http.ErrServerClosed) + }() + + env.RegisterCleanUpCallback(func() { + server.Close() + }) + + return fileURL +} From ecce29a1e06683e4bd872f6d60fcf5be610e8b41 Mon Sep 17 00:00:00 2001 From: mik13ST Date: Fri, 21 Oct 2022 14:18:02 +0200 Subject: [PATCH 09/68] [skip-changelog] Add ARMv6 download links to install docs (#1937) As a newcomer, this made me assume ARMv6 is not supported so I searched the issues, found https://github.com/arduino/arduino-cli/issues/340, which suggested building from source so I did, only to discover an ARMv6 binary in the release files. As for the table layout, it's not ideal. It would also make sense to have this in another column. --- docs/installation.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index 6a444fe4bfc..b5499ee6ce9 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -62,6 +62,7 @@ in your [`PATH`](https://en.wikipedia.org/wiki/PATH%5F%28variable%29) or add the | ----------- | -------------------- | ---------------------- | | Linux | [32 bit][linux32] | [64 bit][linux64] | | Linux ARM | [32 bit][linuxarm32] | [64 bit][linuxarm64] | +| Linux ARMv6 | [32 bit][linuxarmv6] | | | Windows exe | [32 bit][windows32] | [64 bit][windows64] | | Windows msi | | [64 bit][windowsmsi64] | | macOS | | [64 bit][macos64] | @@ -71,6 +72,7 @@ in your [`PATH`](https://en.wikipedia.org/wiki/PATH%5F%28variable%29) or add the [linux32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_32bit.tar.gz [linuxarm64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_ARM64.tar.gz [linuxarm32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_ARMv7.tar.gz +[linuxarmv6]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_ARMv6.tar.gz [windows64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip [windows32]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_32bit.zip [windowsmsi64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.msi @@ -94,6 +96,7 @@ to get the latest nightly build available for the supported platform, use the fo | ----------- | ---------------------------- | ------------------------------ | | Linux | [32 bit][linux32-nightly] | [64 bit][linux64-nightly] | | Linux ARM | [32 bit][linuxarm32-nightly] | [64 bit][linuxarm64-nightly] | +| Linux ARMv6 | [32 bit][linuxarmv6-nightly] | | | Windows exe | [32 bit][windows32-nightly] | [64 bit][windows64-nightly] | | Windows msi | | [64 bit][windowsmsi64-nightly] | | macOS | | [64 bit][macos64-nightly] | @@ -103,6 +106,7 @@ to get the latest nightly build available for the supported platform, use the fo [linux32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_32bit.tar.gz [linuxarm64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_ARM64.tar.gz [linuxarm32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_ARMv7.tar.gz +[linuxarmv6-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Linux_ARMv6.tar.gz [windows64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_64bit.zip [windows32-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_32bit.zip [windowsmsi64-nightly]: https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_Windows_64bit.msi From 960c21011faa09aae1939dcaf0704c2a0676035f Mon Sep 17 00:00:00 2001 From: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> Date: Fri, 21 Oct 2022 15:27:47 +0200 Subject: [PATCH 10/68] `lib deps` command output sorted alphabetically (#1934) * Change lib deps CLI command output to sorted alphabetically * Fix plain text output not sorted correctly * Simplify deps sorting * Reworked test to prevent future breakages --- cli/lib/check_deps.go | 13 ++++- commands/lib/resolve_deps.go | 4 ++ internal/integrationtest/lib/lib_test.go | 63 ++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/cli/lib/check_deps.go b/cli/lib/check_deps.go index 7a420001f62..ae2c6f4141c 100644 --- a/cli/lib/check_deps.go +++ b/cli/lib/check_deps.go @@ -19,6 +19,7 @@ import ( "context" "fmt" "os" + "sort" "github.com/arduino/arduino-cli/cli/arguments" "github.com/arduino/arduino-cli/cli/errorcodes" @@ -81,7 +82,17 @@ func (dr checkDepResult) Data() interface{} { func (dr checkDepResult) String() string { res := "" - for _, dep := range dr.deps.GetDependencies() { + deps := dr.deps.Dependencies + + // Sort depedencies alphabetically and then puts installed ones on top + sort.Slice(deps, func(i, j int) bool { + return deps[i].Name < deps[j].Name + }) + sort.SliceStable(deps, func(i, j int) bool { + return deps[i].VersionInstalled != "" && deps[j].VersionInstalled == "" + }) + + for _, dep := range deps { res += outputDep(dep) } return res diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index dc18591a0c5..eee45e81d61 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -18,6 +18,7 @@ package lib import ( "context" "errors" + "sort" "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/libraries" @@ -74,5 +75,8 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe VersionInstalled: installed, }) } + sort.Slice(res, func(i, j int) bool { + return res[i].Name < res[j].Name + }) return &rpc.LibraryResolveDependenciesResponse{Dependencies: res}, nil } diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index 0300de3c2ea..c409a43f855 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -16,6 +16,8 @@ package lib_test import ( + "encoding/json" + "strings" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" @@ -136,3 +138,64 @@ func TestDuplicateLibInstallDetection(t *testing.T) { require.Error(t, err) require.Contains(t, string(stdErr), "The library ArduinoOTA has multiple installations") } + +func TestLibDepsOutput(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Updates index for cores and libraries + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + _, _, err = cli.Run("lib", "update-index") + require.NoError(t, err) + + // Install some libraries that are dependencies of another library + _, _, err = cli.Run("lib", "install", "Arduino_DebugUtils") + require.NoError(t, err) + _, _, err = cli.Run("lib", "install", "MKRGSM") + require.NoError(t, err) + _, _, err = cli.Run("lib", "install", "MKRNB") + require.NoError(t, err) + _, _, err = cli.Run("lib", "install", "WiFiNINA") + require.NoError(t, err) + + stdOut, _, err := cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.6.6", "--no-color") + require.NoError(t, err) + lines := strings.Split(strings.TrimSpace(string(stdOut)), "\n") + require.Len(t, lines, 7) + require.Regexp(t, `^✓ Arduino_DebugUtils \d+\.\d+\.\d+ is already installed\.$`, lines[0]) + require.Regexp(t, `^✓ MKRGSM \d+\.\d+\.\d+ is already installed\.$`, lines[1]) + require.Regexp(t, `^✓ MKRNB \d+\.\d+\.\d+ is already installed\.$`, lines[2]) + require.Regexp(t, `^✓ WiFiNINA \d+\.\d+\.\d+ is already installed\.$`, lines[3]) + require.Regexp(t, `^✕ Arduino_ConnectionHandler \d+\.\d+\.\d+ must be installed\.$`, lines[4]) + require.Regexp(t, `^✕ MKRWAN \d+\.\d+\.\d+ must be installed\.$`, lines[5]) + require.Regexp(t, `^✕ WiFi101 \d+\.\d+\.\d+ must be installed\.$`, lines[6]) + + stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.6.6", "--format", "json") + require.NoError(t, err) + + var jsonDeps struct { + Dependencies []struct { + Name string `json:"name"` + VersionRequired string `json:"version_required"` + VersionInstalled string `json:"version_installed"` + } `json:"dependencies"` + } + err = json.Unmarshal(stdOut, &jsonDeps) + require.NoError(t, err) + + require.Equal(t, "Arduino_ConnectionHandler", jsonDeps.Dependencies[0].Name) + require.Empty(t, jsonDeps.Dependencies[0].VersionInstalled) + require.Equal(t, "Arduino_DebugUtils", jsonDeps.Dependencies[1].Name) + require.Equal(t, jsonDeps.Dependencies[1].VersionInstalled, jsonDeps.Dependencies[1].VersionRequired) + require.Equal(t, "MKRGSM", jsonDeps.Dependencies[2].Name) + require.Equal(t, jsonDeps.Dependencies[2].VersionInstalled, jsonDeps.Dependencies[2].VersionRequired) + require.Equal(t, "MKRNB", jsonDeps.Dependencies[3].Name) + require.Equal(t, jsonDeps.Dependencies[3].VersionInstalled, jsonDeps.Dependencies[3].VersionRequired) + require.Equal(t, "MKRWAN", jsonDeps.Dependencies[4].Name) + require.Empty(t, jsonDeps.Dependencies[4].VersionInstalled) + require.Equal(t, "WiFi101", jsonDeps.Dependencies[5].Name) + require.Empty(t, jsonDeps.Dependencies[5].VersionInstalled) + require.Equal(t, "WiFiNINA", jsonDeps.Dependencies[6].Name) + require.Equal(t, jsonDeps.Dependencies[6].VersionInstalled, jsonDeps.Dependencies[6].VersionRequired) +} From 120b8525f0369ed35ce7dbcc770d189f544f178f Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Fri, 21 Oct 2022 17:29:48 +0200 Subject: [PATCH 11/68] [skip-changelog] Migrate tests from `test_update.py` to `update_test.go` (#1933) * Migrate TestUpdate from test_update.py to update_test.go * Migrate TestUpdateShowingOutdated from test_update.py to update_test.go * Migrate TestUpdateWithUrlNotFound from test_update.py to update_test.go * Migrate TestUpdateWithUrlInternalServerError from test_update.py to update_test.go * Migrate TestUpdateShowingOutdatedUsingLibraryWithInvalidVersion to update_test.go and delete test_update.py --- .../integrationtest/update/update_test.go | 128 ++++++++++++++++++ test/test_update.py | 97 ------------- 2 files changed, 128 insertions(+), 97 deletions(-) create mode 100644 internal/integrationtest/update/update_test.go delete mode 100644 test/test_update.py diff --git a/internal/integrationtest/update/update_test.go b/internal/integrationtest/update/update_test.go new file mode 100644 index 00000000000..ec4a102c858 --- /dev/null +++ b/internal/integrationtest/update/update_test.go @@ -0,0 +1,128 @@ +// This file is part of arduino-cli. +// +// Copyright 2022 ARDUINO SA (http://www.arduino.cc/) +// +// This software is released under the GNU General Public License version 3, +// which covers the main part of arduino-cli. +// The terms of this license can be found at: +// https://www.gnu.org/licenses/gpl-3.0.en.html +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package update_test + +import ( + "strings" + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestUpdate(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + stdout, _, err := cli.Run("update") + require.NoError(t, err) + require.Contains(t, string(stdout), "Downloading index: package_index.tar.bz2 downloaded") + require.Contains(t, string(stdout), "Downloading index: library_index.tar.bz2 downloaded") +} + +func TestUpdateShowingOutdated(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Updates index for cores and libraries + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + _, _, err = cli.Run("lib", "update-index") + require.NoError(t, err) + + // Installs an outdated core and library + _, _, err = cli.Run("core", "install", "arduino:avr@1.6.3") + require.NoError(t, err) + _, _, err = cli.Run("lib", "install", "USBHost@1.0.0") + require.NoError(t, err) + + // Installs latest version of a core and a library + _, _, err = cli.Run("core", "install", "arduino:samd") + require.NoError(t, err) + _, _, err = cli.Run("lib", "install", "ArduinoJson") + require.NoError(t, err) + + // Verifies outdated cores and libraries are printed after updating indexes + stdout, _, err := cli.Run("update", "--show-outdated") + require.NoError(t, err) + lines := strings.Split(string(stdout), "\n") + for i := range lines { + lines[i] = strings.TrimSpace(lines[i]) + } + + require.Contains(t, lines[0], "Downloading index: package_index.tar.bz2 downloaded") + require.Contains(t, lines[1], "Downloading index: library_index.tar.bz2 downloaded") + require.True(t, strings.HasPrefix(lines[3], "Arduino AVR Boards")) + require.True(t, strings.HasPrefix(lines[6], "USBHost")) +} + +func TestUpdateWithUrlNotFound(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("update") + require.NoError(t, err) + + // Brings up a local server to fake a failure + url := env.HTTPServeFileError(8000, paths.New("test_index.json"), 404) + + stdout, _, err := cli.Run("update", "--additional-urls="+url.String()) + require.Error(t, err) + require.Contains(t, string(stdout), "Downloading index: test_index.json Server responded with: 404 Not Found") +} + +func TestUpdateWithUrlInternalServerError(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("update") + require.NoError(t, err) + + // Brings up a local server to fake a failure + url := env.HTTPServeFileError(8000, paths.New("test_index.json"), 500) + + stdout, _, err := cli.Run("update", "--additional-urls="+url.String()) + require.Error(t, err) + require.Contains(t, string(stdout), "Downloading index: test_index.json Server responded with: 500 Internal Server Error") +} + +func TestUpdateShowingOutdatedUsingLibraryWithInvalidVersion(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("update") + require.NoError(t, err) + + // Install latest version of a library + _, _, err = cli.Run("lib", "install", "WiFi101") + require.NoError(t, err) + + // Verifies library doesn't get updated + stdout, _, err := cli.Run("update", "--show-outdated") + require.NoError(t, err) + require.NotContains(t, string(stdout), "WiFi101") + + // Changes the version of the currently installed library so that it's + // invalid + libPath := cli.SketchbookDir().Join("libraries", "WiFi101", "library.properties") + require.NoError(t, libPath.WriteFile([]byte("name=WiFi101\nversion=1.0001"))) + + // Verifies library gets updated + stdout, _, err = cli.Run("update", "--show-outdated") + require.NoError(t, err) + require.Contains(t, string(stdout), "WiFi101") +} diff --git a/test/test_update.py b/test/test_update.py deleted file mode 100644 index f944347c071..00000000000 --- a/test/test_update.py +++ /dev/null @@ -1,97 +0,0 @@ -# This file is part of arduino-cli. -# -# Copyright 2020 ARDUINO SA (http://www.arduino.cc/) -# -# This software is released under the GNU General Public License version 3, -# which covers the main part of arduino-cli. -# The terms of this license can be found at: -# https://www.gnu.org/licenses/gpl-3.0.en.html -# -# You can be released from the requirements of the above licenses by purchasing -# a commercial license. Buying such a license is mandatory if you want to modify or -# otherwise use the software for commercial activities involving the Arduino -# software without disclosing the source code of your own applications. To purchase -# a commercial license, send an email to license@arduino.cc. - -from pathlib import Path - - -def test_update(run_command): - res = run_command(["update"]) - assert res.ok - lines = [l.strip() for l in res.stdout.splitlines()] - - assert "Downloading index: package_index.tar.bz2 downloaded" in lines - assert "Downloading index: library_index.tar.bz2 downloaded" in lines - - -def test_update_showing_outdated(run_command): - # Updates index for cores and libraries - run_command(["core", "update-index"]) - run_command(["lib", "update-index"]) - - # Installs an outdated core and library - run_command(["core", "install", "arduino:avr@1.6.3"]) - assert run_command(["lib", "install", "USBHost@1.0.0"]) - - # Installs latest version of a core and a library - run_command(["core", "install", "arduino:samd"]) - assert run_command(["lib", "install", "ArduinoJson"]) - - # Verifies outdated cores and libraries are printed after updating indexes - result = run_command(["update", "--show-outdated"]) - assert result.ok - lines = [l.strip() for l in result.stdout.splitlines()] - - assert "Downloading index: package_index.tar.bz2 downloaded" in lines - assert "Downloading index: library_index.tar.bz2 downloaded" in lines - assert lines[-5].startswith("Arduino AVR Boards") - assert lines[-2].startswith("USBHost") - - -def test_update_with_url_not_found(run_command, httpserver): - assert run_command(["update"]) - - # Brings up a local server to fake a failure - httpserver.expect_request("/test_index.json").respond_with_data(status=404) - url = httpserver.url_for("/test_index.json") - - res = run_command(["update", f"--additional-urls={url}"]) - assert res.failed - lines = [l.strip() for l in res.stdout.splitlines()] - assert "Downloading index: test_index.json Server responded with: 404 NOT FOUND" in lines - - -def test_update_with_url_internal_server_error(run_command, httpserver): - assert run_command(["update"]) - - # Brings up a local server to fake a failure - httpserver.expect_request("/test_index.json").respond_with_data(status=500) - url = httpserver.url_for("/test_index.json") - - res = run_command(["update", f"--additional-urls={url}"]) - assert res.failed - lines = [l.strip() for l in res.stdout.splitlines()] - assert "Downloading index: test_index.json Server responded with: 500 INTERNAL SERVER ERROR" in lines - - -def test_update_showing_outdated_using_library_with_invalid_version(run_command, data_dir): - assert run_command(["update"]) - - # Install latest version of a library - assert run_command(["lib", "install", "WiFi101"]) - - # Verifies library doesn't get updated - res = run_command(["update", "--show-outdated"]) - assert res.ok - assert "WiFi101" not in res.stdout - - # Changes the version of the currently installed library so that it's - # invalid - lib_path = Path(data_dir, "libraries", "WiFi101") - Path(lib_path, "library.properties").write_text("name=WiFi101\nversion=1.0001") - - # Verifies library gets updated - res = run_command(["update", "--show-outdated"]) - assert res.ok - assert "WiFi101" in res.stdout From 5efa9b5d3596d4dd88f16813d1018f3f60481b05 Mon Sep 17 00:00:00 2001 From: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> Date: Fri, 21 Oct 2022 17:45:56 +0200 Subject: [PATCH 12/68] bugfix: `lib upgrade` command does not install new libraries dependencies (#1935) --- commands/lib/upgrade.go | 32 ++++++++--------- internal/integrationtest/lib/lib_test.go | 45 ++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 17 deletions(-) diff --git a/commands/lib/upgrade.go b/commands/lib/upgrade.go index a156553ee6a..b02ed8d5733 100644 --- a/commands/lib/upgrade.go +++ b/commands/lib/upgrade.go @@ -17,11 +17,8 @@ package lib import ( "context" - "errors" "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/commands" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -33,7 +30,7 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa return &arduino.InvalidInstanceError{} } - if err := upgrade(lm, listLibraries(lm, true, false), downloadCB, taskCB); err != nil { + if err := upgrade(req.Instance, listLibraries(lm, true, false), downloadCB, taskCB); err != nil { return err } @@ -47,6 +44,9 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa // LibraryUpgrade upgrades a library func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { lm := commands.GetLibraryManager(req) + if lm == nil { + return &arduino.InvalidInstanceError{} + } // Get the library to upgrade name := req.GetName() @@ -61,23 +61,21 @@ func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloa } // Install update - return upgrade(lm, []*installedLib{lib}, downloadCB, taskCB) + return upgrade(req.Instance, []*installedLib{lib}, downloadCB, taskCB) } -func upgrade(lm *librariesmanager.LibrariesManager, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - // Go through the list and download them +func upgrade(instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { for _, lib := range libs { - if err := downloadLibrary(lm, lib.Available, downloadCB, taskCB); err != nil { - return err + libInstallReq := &rpc.LibraryInstallRequest{ + Instance: instance, + Name: lib.Library.Name, + Version: "", + NoDeps: false, + NoOverwrite: false, } - } - - // Go through the list and install them - for _, lib := range libs { - if err := installLibrary(lm, lib.Available, libraries.User, taskCB); err != nil { - if !errors.Is(err, librariesmanager.ErrAlreadyInstalled) { - return err - } + err := LibraryInstall(context.Background(), libInstallReq, downloadCB, taskCB) + if err != nil { + return err } } diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index c409a43f855..679d0fd499b 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -199,3 +199,48 @@ func TestLibDepsOutput(t *testing.T) { require.Equal(t, "WiFiNINA", jsonDeps.Dependencies[6].Name) require.Equal(t, jsonDeps.Dependencies[6].VersionInstalled, jsonDeps.Dependencies[6].VersionRequired) } + +func TestUpgradeLibraryWithDependencies(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Updates index for cores and libraries + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + _, _, err = cli.Run("lib", "update-index") + require.NoError(t, err) + + // Install library + _, _, err = cli.Run("lib", "install", "Arduino_ConnectionHandler@0.3.3") + require.NoError(t, err) + stdOut, _, err := cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.3.3", "--format", "json") + require.NoError(t, err) + + var jsonDeps struct { + Dependencies []struct { + Name string `json:"name"` + VersionRequired string `json:"version_required"` + VersionInstalled string `json:"version_installed"` + } `json:"dependencies"` + } + err = json.Unmarshal(stdOut, &jsonDeps) + require.NoError(t, err) + + require.Len(t, jsonDeps.Dependencies, 6) + require.Equal(t, "Arduino_ConnectionHandler", jsonDeps.Dependencies[0].Name) + require.Equal(t, "Arduino_DebugUtils", jsonDeps.Dependencies[1].Name) + require.Equal(t, "MKRGSM", jsonDeps.Dependencies[2].Name) + require.Equal(t, "MKRNB", jsonDeps.Dependencies[3].Name) + require.Equal(t, "WiFi101", jsonDeps.Dependencies[4].Name) + require.Equal(t, "WiFiNINA", jsonDeps.Dependencies[5].Name) + + // Test lib upgrade also install new dependencies of already installed library + _, _, err = cli.Run("lib", "upgrade", "Arduino_ConnectionHandler") + require.NoError(t, err) + stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler", "--format", "json") + require.NoError(t, err) + + jsonOut := requirejson.Parse(t, stdOut) + dependency := jsonOut.Query(`.dependencies[] | select(.name=="MKRWAN")`) + require.Equal(t, dependency.Query(".version_required"), dependency.Query(".version_installed")) +} From 61ba6854ce67f0f3591907943c720e301aef9756 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 24 Oct 2022 13:28:10 +0200 Subject: [PATCH 13/68] [breaking] Removed redundant and useless commands from gRPC API (#1891) * Removed redundant and useless commands from gRPC interface * Moved some flags in the command creation This will turn out useful in the following commits * Made some cli procedures available for other packages Unfortunately we cannot limit the availability of the cli.core.* package to the cli.* packages, but they are now available as public API. * Moved 'lib list' flags into command creation * Moved 'core list' flags into command creation * Made 'lib list' procedure public * Made 'core list' procedure public * instance.Init no longer return errors array. They are printed directly inside the function through the feedback package. * Ultra-simplified 'outdated' 'update' and 'upgrade' * Moved 'update' flags in command creation * Fixed integration tests * Updated docs * Fixed integration tests --- cli/core/install.go | 13 +- cli/core/list.go | 17 +- cli/core/search.go | 4 +- cli/core/update_index.go | 4 + cli/core/upgrade.go | 13 +- cli/instance/instance.go | 24 +- cli/lib/list.go | 29 +- cli/lib/search.go | 4 +- cli/lib/update_index.go | 4 + cli/lib/upgrade.go | 8 +- cli/outdated/outdated.go | 56 +- cli/update/update.go | 73 +- cli/upgrade/upgrade.go | 33 +- commands/daemon/daemon.go | 39 - commands/instances.go | 15 - commands/outdated/outdated.go | 48 - commands/upgrade/upgrade.go | 59 - docs/UPGRADING.md | 52 + .../integrationtest/outdated/outdated_test.go | 8 +- .../integrationtest/update/update_test.go | 8 +- .../integrationtest/upgrade/upgrade_test.go | 2 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1539 ++++++----------- rpc/cc/arduino/cli/commands/v1/commands.proto | 46 - .../cli/commands/v1/commands_grpc.pb.go | 204 +-- test/test_lib.py | 2 +- 25 files changed, 705 insertions(+), 1599 deletions(-) delete mode 100644 commands/outdated/outdated.go delete mode 100644 commands/upgrade/upgrade.go diff --git a/cli/core/install.go b/cli/core/install.go index 392b81a28a5..776966729ed 100644 --- a/cli/core/install.go +++ b/cli/core/install.go @@ -31,12 +31,9 @@ import ( "github.com/spf13/cobra" ) -var ( - postInstallFlags arguments.PostInstallFlags - noOverwrite bool -) - func initInstallCommand() *cobra.Command { + var noOverwrite bool + var postInstallFlags arguments.PostInstallFlags installCommand := &cobra.Command{ Use: fmt.Sprintf("install %s:%s[@%s]...", tr("PACKAGER"), tr("ARCH"), tr("VERSION")), Short: tr("Installs one or more cores and corresponding tool dependencies."), @@ -49,7 +46,9 @@ func initInstallCommand() *cobra.Command { PreRun: func(cmd *cobra.Command, args []string) { arguments.CheckFlagsConflicts(cmd, "run-post-install", "skip-post-install") }, - Run: runInstallCommand, + Run: func(cmd *cobra.Command, args []string) { + runInstallCommand(args, postInstallFlags, noOverwrite) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return arguments.GetInstallableCores(), cobra.ShellCompDirectiveDefault }, @@ -59,7 +58,7 @@ func initInstallCommand() *cobra.Command { return installCommand } -func runInstallCommand(cmd *cobra.Command, args []string) { +func runInstallCommand(args []string, postInstallFlags arguments.PostInstallFlags, noOverwrite bool) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli core install`") diff --git a/cli/core/list.go b/cli/core/list.go index fff41af07b0..ce45b785eec 100644 --- a/cli/core/list.go +++ b/cli/core/list.go @@ -29,29 +29,32 @@ import ( "github.com/spf13/cobra" ) -var ( - updatableOnly bool - all bool -) - func initListCommand() *cobra.Command { + var updatableOnly bool + var all bool listCommand := &cobra.Command{ Use: "list", Short: tr("Shows the list of installed platforms."), Long: tr("Shows the list of installed platforms."), Example: " " + os.Args[0] + " core list", Args: cobra.NoArgs, - Run: runListCommand, + Run: func(cmd *cobra.Command, args []string) { + runListCommand(args, all, updatableOnly) + }, } listCommand.Flags().BoolVar(&updatableOnly, "updatable", false, tr("List updatable platforms.")) listCommand.Flags().BoolVar(&all, "all", false, tr("If set return all installable and installed cores, including manually installed.")) return listCommand } -func runListCommand(cmd *cobra.Command, args []string) { +func runListCommand(args []string, all bool, updatableOnly bool) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli core list`") + List(inst, all, updatableOnly) +} +// List print a list of installed platforms. +func List(inst *rpc.Instance, all bool, updatableOnly bool) { platforms, err := core.GetPlatforms(&rpc.PlatformListRequest{ Instance: inst, UpdatableOnly: updatableOnly, diff --git a/cli/core/search.go b/cli/core/search.go index 8003cb2a1c7..004302243ed 100644 --- a/cli/core/search.go +++ b/cli/core/search.go @@ -73,9 +73,7 @@ func runSearchCommand(cmd *cobra.Command, args []string) { } } - for _, err := range instance.Init(inst) { - feedback.Errorf(tr("Error initializing instance: %v"), err) - } + instance.Init(inst) arguments := strings.ToLower(strings.Join(args, " ")) logrus.Infof("Executing `arduino-cli core search` with args: '%s'", arguments) diff --git a/cli/core/update_index.go b/cli/core/update_index.go index d5101883d21..4f3c4f89064 100644 --- a/cli/core/update_index.go +++ b/cli/core/update_index.go @@ -44,7 +44,11 @@ func initUpdateIndexCommand() *cobra.Command { func runUpdateIndexCommand(cmd *cobra.Command, args []string) { inst := instance.CreateInstanceAndRunFirstUpdate() logrus.Info("Executing `arduino-cli core update-index`") + UpdateIndex(inst) +} +// UpdateIndex updates the index of platforms. +func UpdateIndex(inst *rpc.Instance) { err := commands.UpdateIndex(context.Background(), &rpc.UpdateIndexRequest{Instance: inst}, output.ProgressBar()) if err != nil { feedback.Error(err) diff --git a/cli/core/upgrade.go b/cli/core/upgrade.go index 905dee4e040..ecd0669395e 100644 --- a/cli/core/upgrade.go +++ b/cli/core/upgrade.go @@ -34,6 +34,7 @@ import ( ) func initUpgradeCommand() *cobra.Command { + var postInstallFlags arguments.PostInstallFlags upgradeCommand := &cobra.Command{ Use: fmt.Sprintf("upgrade [%s:%s] ...", tr("PACKAGER"), tr("ARCH")), Short: tr("Upgrades one or all installed platforms to the latest version."), @@ -43,16 +44,22 @@ func initUpgradeCommand() *cobra.Command { " " + os.Args[0] + " core upgrade\n\n" + " # " + tr("upgrade arduino:samd to the latest version") + "\n" + " " + os.Args[0] + " core upgrade arduino:samd", - Run: runUpgradeCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpgradeCommand(args, postInstallFlags.DetectSkipPostInstallValue()) + }, } postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(cmd *cobra.Command, args []string) { +func runUpgradeCommand(args []string, skipPostInstall bool) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli core upgrade`") + Upgrade(inst, args, skipPostInstall) +} +// Upgrade upgrades one or all installed platforms to the latest version. +func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { targets, err := core.GetPlatforms(&rpc.PlatformListRequest{ @@ -93,7 +100,7 @@ func runUpgradeCommand(cmd *cobra.Command, args []string) { Instance: inst, PlatformPackage: platformRef.PackageName, Architecture: platformRef.Architecture, - SkipPostInstall: postInstallFlags.DetectSkipPostInstallValue(), + SkipPostInstall: skipPostInstall, } if _, err := core.PlatformUpgrade(context.Background(), r, output.ProgressBar(), output.TaskProgress()); err != nil { diff --git a/cli/instance/instance.go b/cli/instance/instance.go index 8a82ab0f80d..728032a1e91 100644 --- a/cli/instance/instance.go +++ b/cli/instance/instance.go @@ -17,7 +17,6 @@ package instance import ( "context" - "errors" "os" "github.com/arduino/arduino-cli/cli/errorcodes" @@ -50,10 +49,7 @@ func CreateAndInitWithProfile(profileName string, sketchPath *paths.Path) (*rpc. feedback.Errorf(tr("Error creating instance: %v"), err) os.Exit(errorcodes.ErrGeneric) } - profile, errs := InitWithProfile(instance, profileName, sketchPath) - for _, err := range errs { - feedback.Errorf(tr("Error initializing instance: %v"), err) - } + profile := InitWithProfile(instance, profileName, sketchPath) return instance, profile } @@ -71,20 +67,18 @@ func Create() (*rpc.Instance, error) { // platform or library that we failed to load. // Package and library indexes files are automatically updated if the // CLI is run for the first time. -func Init(instance *rpc.Instance) []error { - _, errs := InitWithProfile(instance, "", nil) - return errs +func Init(instance *rpc.Instance) { + InitWithProfile(instance, "", nil) } // InitWithProfile initializes instance by loading libraries and platforms specified in the given profile of the given sketch. // In case of loading failures return a list of errors for each platform or library that we failed to load. // Required Package and library indexes files are automatically downloaded. -func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) (*rpc.Profile, []error) { - errs := []error{} - +func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.Profile { // In case the CLI is executed for the first time if err := FirstUpdate(instance); err != nil { - return nil, append(errs, err) + feedback.Errorf(tr("Error initializing instance: %v"), err) + return nil } downloadCallback := output.ProgressBar() @@ -98,7 +92,7 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat var profile *rpc.Profile err := commands.Init(initReq, func(res *rpc.InitResponse) { if st := res.GetError(); st != nil { - errs = append(errs, errors.New(st.Message)) + feedback.Errorf(tr("Error initializing instance: %v"), st.Message) } if progress := res.GetInitProgress(); progress != nil { @@ -115,10 +109,10 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat } }) if err != nil { - errs = append(errs, err) + feedback.Errorf(tr("Error initializing instance: %v"), err) } - return profile, errs + return profile } // FirstUpdate downloads libraries and packages indexes if they don't exist. diff --git a/cli/lib/list.go b/cli/lib/list.go index 496b948cda7..c8783da664e 100644 --- a/cli/lib/list.go +++ b/cli/lib/list.go @@ -32,12 +32,9 @@ import ( "github.com/spf13/cobra" ) -var ( - all bool - updatable bool -) - func initListCommand() *cobra.Command { + var all bool + var updatable bool listCommand := &cobra.Command{ Use: fmt.Sprintf("list [%s]", tr("LIBNAME")), Short: tr("Shows a list of installed libraries."), @@ -48,7 +45,9 @@ library. By default the libraries provided as built-in by platforms/core are not listed, they can be listed by adding the --all flag.`), Example: " " + os.Args[0] + " lib list", Args: cobra.MaximumNArgs(1), - Run: runListCommand, + Run: func(cmd *cobra.Command, args []string) { + runListCommand(args, all, updatable) + }, } listCommand.Flags().BoolVar(&all, "all", false, tr("Include built-in libraries (from platforms and IDE) in listing.")) fqbn.AddToCommand(listCommand) @@ -56,10 +55,14 @@ not listed, they can be listed by adding the --all flag.`), return listCommand } -func runListCommand(cmd *cobra.Command, args []string) { +func runListCommand(args []string, all bool, updatable bool) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli lib list`") + List(instance, args, all, updatable) +} +// List lists all the installed libraries. +func List(instance *rpc.Instance, args []string, all bool, updatable bool) { name := "" if len(args) > 0 { name = args[0] @@ -94,13 +97,17 @@ func runListCommand(cmd *cobra.Command, args []string) { libs = []*rpc.InstalledLibrary{} } - feedback.PrintResult(installedResult{libs}) + feedback.PrintResult(installedResult{ + onlyUpdates: updatable, + installedLibs: libs, + }) logrus.Info("Done") } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type installedResult struct { + onlyUpdates bool installedLibs []*rpc.InstalledLibrary } @@ -109,9 +116,9 @@ func (ir installedResult) Data() interface{} { } func (ir installedResult) String() string { - if ir.installedLibs == nil || len(ir.installedLibs) == 0 { - if updatable { - return tr("No updates available.") + if len(ir.installedLibs) == 0 { + if ir.onlyUpdates { + return tr("No libraries update is available.") } return tr("No libraries installed.") } diff --git a/cli/lib/search.go b/cli/lib/search.go index b16e76790ad..0248a98ec7b 100644 --- a/cli/lib/search.go +++ b/cli/lib/search.go @@ -69,9 +69,7 @@ func runSearchCommand(cmd *cobra.Command, args []string) { os.Exit(errorcodes.ErrGeneric) } - for _, err := range instance.Init(inst) { - feedback.Errorf(tr("Error initializing instance: %v"), err) - } + instance.Init(inst) searchResp, err := lib.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, diff --git a/cli/lib/update_index.go b/cli/lib/update_index.go index 713f8e89010..ccd05cccec2 100644 --- a/cli/lib/update_index.go +++ b/cli/lib/update_index.go @@ -44,7 +44,11 @@ func initUpdateIndexCommand() *cobra.Command { func runUpdateIndexCommand(cmd *cobra.Command, args []string) { inst := instance.CreateInstanceAndRunFirstUpdate() logrus.Info("Executing `arduino-cli lib update-index`") + UpdateIndex(inst) +} +// UpdateIndex updates the index of libraries. +func UpdateIndex(inst *rpc.Instance) { err := commands.UpdateLibrariesIndex(context.Background(), &rpc.UpdateLibrariesIndexRequest{ Instance: inst, }, output.ProgressBar()) diff --git a/cli/lib/upgrade.go b/cli/lib/upgrade.go index 9cd35b29b48..0e711816ed6 100644 --- a/cli/lib/upgrade.go +++ b/cli/lib/upgrade.go @@ -46,13 +46,17 @@ func initUpgradeCommand() *cobra.Command { func runUpgradeCommand(cmd *cobra.Command, args []string) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli lib upgrade`") + Upgrade(instance, args) +} +// Upgrade upgrades the specified libraries +func Upgrade(instance *rpc.Instance, libraries []string) { var upgradeErr error - if len(args) == 0 { + if len(libraries) == 0 { req := &rpc.LibraryUpgradeAllRequest{Instance: instance} upgradeErr = lib.LibraryUpgradeAll(req, output.ProgressBar(), output.TaskProgress()) } else { - for _, libName := range args { + for _, libName := range libraries { req := &rpc.LibraryUpgradeRequest{ Instance: instance, Name: libName, diff --git a/cli/outdated/outdated.go b/cli/outdated/outdated.go index 7938cc9c91e..0747e7ef5f4 100644 --- a/cli/outdated/outdated.go +++ b/cli/outdated/outdated.go @@ -16,15 +16,13 @@ package outdated import ( - "context" "os" - "github.com/arduino/arduino-cli/cli/feedback" + "github.com/arduino/arduino-cli/cli/core" "github.com/arduino/arduino-cli/cli/instance" - "github.com/arduino/arduino-cli/commands/outdated" + "github.com/arduino/arduino-cli/cli/lib" "github.com/arduino/arduino-cli/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -42,57 +40,17 @@ that can be upgraded. If nothing needs to be updated the output is empty.`), Args: cobra.NoArgs, Run: runOutdatedCommand, } - return outdatedCommand } func runOutdatedCommand(cmd *cobra.Command, args []string) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli outdated`") - - outdatedResp, err := outdated.Outdated(context.Background(), &rpc.OutdatedRequest{ - Instance: inst, - }) - if err != nil { - feedback.Errorf(tr("Error retrieving outdated cores and libraries: %v"), err) - } - - feedback.PrintResult(outdatedResult{ - Platforms: outdatedResp.OutdatedPlatforms, - Libraries: outdatedResp.OutdatedLibraries}) -} - -// output from this command requires special formatting, let's create a dedicated -// feedback.Result implementation -type outdatedResult struct { - Platforms []*rpc.Platform - Libraries []*rpc.InstalledLibrary + Outdated(inst) } -func (or outdatedResult) Data() interface{} { - return or -} - -func (or outdatedResult) String() string { - // Prints outdated cores - t1 := table.New() - if len(or.Platforms) > 0 { - t1.SetHeader(tr("ID"), tr("Installed version"), tr("New version"), tr("Name")) - for _, p := range or.Platforms { - t1.AddRow(p.Id, p.Installed, p.Latest, p.Name) - } - } - - // Prints outdated libraries - t2 := table.New() - if len(or.Libraries) > 0 { - t2.SetHeader(tr("Library name"), tr("Installed version"), tr("New version")) - for _, l := range or.Libraries { - t2.AddRow(l.Library.Name, l.Library.Version, l.Release.Version) - } - } - if len(or.Libraries) > 0 && len(or.Platforms) > 0 { - return t1.Render() + "\n" + t2.Render() // handle the new line between tables - } - return t1.Render() + t2.Render() +// Outdated returns a list of outdated platforms and libraries +func Outdated(inst *rpc.Instance) { + core.List(inst, false, true) + lib.List(inst, []string{}, false, true) } diff --git a/cli/update/update.go b/cli/update/update.go index c4718e85b96..45ef225fe36 100644 --- a/cli/update/update.go +++ b/cli/update/update.go @@ -16,18 +16,13 @@ package update import ( - "context" "os" - "github.com/arduino/arduino-cli/cli/errorcodes" - "github.com/arduino/arduino-cli/cli/feedback" + "github.com/arduino/arduino-cli/cli/core" "github.com/arduino/arduino-cli/cli/instance" - "github.com/arduino/arduino-cli/cli/output" - "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/outdated" + "github.com/arduino/arduino-cli/cli/lib" + "github.com/arduino/arduino-cli/cli/outdated" "github.com/arduino/arduino-cli/i18n" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -36,68 +31,28 @@ var tr = i18n.Tr // NewCommand creates a new `update` command func NewCommand() *cobra.Command { + var showOutdated bool updateCommand := &cobra.Command{ Use: "update", Short: tr("Updates the index of cores and libraries"), Long: tr("Updates the index of cores and libraries to the latest versions."), Example: " " + os.Args[0] + " update", Args: cobra.NoArgs, - Run: runUpdateCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpdateCommand(showOutdated) + }, } - updateCommand.Flags().BoolVar(&updateFlags.showOutdated, "show-outdated", false, tr("Show outdated cores and libraries after index update")) + updateCommand.Flags().BoolVar(&showOutdated, "show-outdated", false, tr("Show outdated cores and libraries after index update")) return updateCommand } -var updateFlags struct { - showOutdated bool -} - -func runUpdateCommand(cmd *cobra.Command, args []string) { +func runUpdateCommand(showOutdated bool) { inst := instance.CreateInstanceAndRunFirstUpdate() logrus.Info("Executing `arduino-cli update`") - - err := commands.UpdateCoreLibrariesIndex(context.Background(), - &rpc.UpdateCoreLibrariesIndexRequest{Instance: inst}, - output.ProgressBar()) - if err != nil { - feedback.Errorf(tr("Error updating core and libraries index: %v"), err) - os.Exit(errorcodes.ErrGeneric) + lib.UpdateIndex(inst) + core.UpdateIndex(inst) + instance.Init(inst) + if showOutdated { + outdated.Outdated(inst) } - - if updateFlags.showOutdated { - // To show outdated platforms and libraries we need to initialize our instance - // otherwise nothing would be shown - for _, err := range instance.Init(inst) { - feedback.Errorf(tr("Error initializing instance: %v"), err) - } - - outdatedResp, err := outdated.Outdated(context.Background(), &rpc.OutdatedRequest{ - Instance: inst, - }) - if err != nil { - feedback.Errorf(tr("Error retrieving outdated cores and libraries: %v"), err) - } - - // Prints outdated cores - tab := table.New() - tab.SetHeader(tr("Core name"), tr("Installed version"), tr("New version")) - if len(outdatedResp.OutdatedPlatforms) > 0 { - for _, p := range outdatedResp.OutdatedPlatforms { - tab.AddRow(p.Name, p.Installed, p.Latest) - } - feedback.Print(tab.Render()) - } - - // Prints outdated libraries - tab = table.New() - tab.SetHeader(tr("Library name"), tr("Installed version"), tr("New version")) - if len(outdatedResp.OutdatedLibraries) > 0 { - for _, l := range outdatedResp.OutdatedLibraries { - tab.AddRow(l.Library.Name, l.Library.Version, l.Release.Version) - } - feedback.Print(tab.Render()) - } - } - - logrus.Info("Done") } diff --git a/cli/upgrade/upgrade.go b/cli/upgrade/upgrade.go index bbe001ff72e..bedb3ee359f 100644 --- a/cli/upgrade/upgrade.go +++ b/cli/upgrade/upgrade.go @@ -16,52 +16,39 @@ package upgrade import ( - "context" "os" "github.com/arduino/arduino-cli/cli/arguments" - "github.com/arduino/arduino-cli/cli/feedback" + "github.com/arduino/arduino-cli/cli/core" "github.com/arduino/arduino-cli/cli/instance" - "github.com/arduino/arduino-cli/cli/output" - "github.com/arduino/arduino-cli/commands/upgrade" + "github.com/arduino/arduino-cli/cli/lib" "github.com/arduino/arduino-cli/i18n" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -var ( - tr = i18n.Tr - postInstallFlags arguments.PostInstallFlags -) +var tr = i18n.Tr // NewCommand creates a new `upgrade` command func NewCommand() *cobra.Command { + var postInstallFlags arguments.PostInstallFlags upgradeCommand := &cobra.Command{ Use: "upgrade", Short: tr("Upgrades installed cores and libraries."), Long: tr("Upgrades installed cores and libraries to latest version."), Example: " " + os.Args[0] + " upgrade", Args: cobra.NoArgs, - Run: runUpgradeCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpgradeCommand(postInstallFlags.DetectSkipPostInstallValue()) + }, } - postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(cmd *cobra.Command, args []string) { +func runUpgradeCommand(skipPostInstall bool) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli upgrade`") - - err := upgrade.Upgrade(context.Background(), &rpc.UpgradeRequest{ - Instance: inst, - SkipPostInstall: postInstallFlags.DetectSkipPostInstallValue(), - }, output.NewDownloadProgressBarCB(), output.TaskProgress()) - - if err != nil { - feedback.Errorf(tr("Error upgrading: %v"), err) - } - - logrus.Info("Done") + lib.Upgrade(inst, []string{}) + core.Upgrade(inst, []string{}, skipPostInstall) } diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index 11e4bb0d942..8fbd9448e31 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -28,9 +28,7 @@ import ( "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/commands/monitor" - "github.com/arduino/arduino-cli/commands/outdated" "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/commands/upgrade" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -178,43 +176,6 @@ func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd return stream.Send(&rpc.UpdateLibrariesIndexResponse{}) } -// UpdateCoreLibrariesIndex FIXMEDOC -func (s *ArduinoCoreServerImpl) UpdateCoreLibrariesIndex(req *rpc.UpdateCoreLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateCoreLibrariesIndexServer) error { - err := commands.UpdateCoreLibrariesIndex(stream.Context(), req, - func(p *rpc.DownloadProgress) { stream.Send(&rpc.UpdateCoreLibrariesIndexResponse{DownloadProgress: p}) }, - ) - if err != nil { - return convertErrorToRPCStatus(err) - } - return stream.Send(&rpc.UpdateCoreLibrariesIndexResponse{}) -} - -// Outdated FIXMEDOC -func (s *ArduinoCoreServerImpl) Outdated(ctx context.Context, req *rpc.OutdatedRequest) (*rpc.OutdatedResponse, error) { - resp, err := outdated.Outdated(ctx, req) - return resp, convertErrorToRPCStatus(err) -} - -// Upgrade FIXMEDOC -func (s *ArduinoCoreServerImpl) Upgrade(req *rpc.UpgradeRequest, stream rpc.ArduinoCoreService_UpgradeServer) error { - err := upgrade.Upgrade(stream.Context(), req, - func(p *rpc.DownloadProgress) { - stream.Send(&rpc.UpgradeResponse{ - Progress: p, - }) - }, - func(p *rpc.TaskProgress) { - stream.Send(&rpc.UpgradeResponse{ - TaskProgress: p, - }) - }, - ) - if err != nil { - return convertErrorToRPCStatus(err) - } - return stream.Send(&rpc.UpgradeResponse{}) -} - // Create FIXMEDOC func (s *ArduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { var userAgent []string diff --git a/commands/instances.go b/commands/instances.go index 0840bca5cd7..259e002cfc3 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -544,21 +544,6 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp return nil } -// UpdateCoreLibrariesIndex updates both Cores and Libraries indexes -func UpdateCoreLibrariesIndex(ctx context.Context, req *rpc.UpdateCoreLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) error { - err := UpdateIndex(ctx, &rpc.UpdateIndexRequest{Instance: req.Instance}, downloadCB) - if err != nil { - return err - } - - err = UpdateLibrariesIndex(ctx, &rpc.UpdateLibrariesIndexRequest{Instance: req.Instance}, downloadCB) - if err != nil { - return err - } - - return nil -} - // LoadSketch collects and returns all files composing a sketch func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { // TODO: This should be a ToRpc function for the Sketch struct diff --git a/commands/outdated/outdated.go b/commands/outdated/outdated.go deleted file mode 100644 index 3bcf3503bde..00000000000 --- a/commands/outdated/outdated.go +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2022 ARDUINO SA (http://www.arduino.cc/) -// -// This software is released under the GNU General Public License version 3, -// which covers the main part of arduino-cli. -// The terms of this license can be found at: -// https://www.gnu.org/licenses/gpl-3.0.en.html -// -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. - -package outdated - -import ( - "context" - - "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/commands/lib" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" -) - -// Outdated returns a list struct containing both Core and Libraries that can be updated -func Outdated(ctx context.Context, req *rpc.OutdatedRequest) (*rpc.OutdatedResponse, error) { - libraryListResponse, err := lib.LibraryList(ctx, &rpc.LibraryListRequest{ - Instance: req.GetInstance(), - Updatable: true, - }) - if err != nil { - return nil, err - } - - getPlatformsResp, err := core.GetPlatforms(&rpc.PlatformListRequest{ - Instance: req.GetInstance(), - UpdatableOnly: true, - }) - if err != nil { - return nil, err - } - - return &rpc.OutdatedResponse{ - OutdatedLibraries: libraryListResponse.GetInstalledLibraries(), - OutdatedPlatforms: getPlatformsResp, - }, nil -} diff --git a/commands/upgrade/upgrade.go b/commands/upgrade/upgrade.go deleted file mode 100644 index e30d09f2a27..00000000000 --- a/commands/upgrade/upgrade.go +++ /dev/null @@ -1,59 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2022 ARDUINO SA (http://www.arduino.cc/) -// -// This software is released under the GNU General Public License version 3, -// which covers the main part of arduino-cli. -// The terms of this license can be found at: -// https://www.gnu.org/licenses/gpl-3.0.en.html -// -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. - -package upgrade - -import ( - "context" - "strings" - - "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/commands/lib" - "github.com/arduino/arduino-cli/commands/outdated" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" -) - -// Upgrade downloads and installs outdated Cores and Libraries -func Upgrade(ctx context.Context, req *rpc.UpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - outdatedResp, err := outdated.Outdated(ctx, &rpc.OutdatedRequest{Instance: req.GetInstance()}) - if err != nil { - return err - } - - for _, libToUpgrade := range outdatedResp.GetOutdatedLibraries() { - err := lib.LibraryInstall(ctx, &rpc.LibraryInstallRequest{ - Instance: req.GetInstance(), - Name: libToUpgrade.GetLibrary().GetName(), - }, downloadCB, taskCB) - if err != nil { - return err - } - } - - for _, platformToUpgrade := range outdatedResp.GetOutdatedPlatforms() { - split := strings.Split(platformToUpgrade.GetId(), ":") - _, err := core.PlatformUpgrade(ctx, &rpc.PlatformUpgradeRequest{ - Instance: req.GetInstance(), - PlatformPackage: split[0], - Architecture: split[1], - SkipPostInstall: req.GetSkipPostInstall(), - }, downloadCB, taskCB) - if err != nil { - return err - } - } - - return nil -} diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 875b5d55c48..91e8e6940e2 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -2,6 +2,58 @@ Here you can find a list of migration guides to handle breaking changes between releases of the CLI. +## 0.29.0 + +### Removed gRPC API: `cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndex`, `Outdated`, and `Upgrade` + +The following gRPC API have been removed: + +- `cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndex`: you can use the already available gRPC methods `UpdateIndex` + and `UpdateLibrariesIndex` to perform the same tasks. +- `cc.arduino.cli.commands.v1.Outdated`: you can use the already available gRPC methods `PlatformList` and `LibraryList` + to perform the same tasks. +- `cc.arduino.cli.commands.v1.Upgrade`: you can use the already available gRPC methods `PlatformUpgrade` and + `LibraryUpgrade` to perform the same tasks. + +The golang API implementation of the same functions has been removed as well, so the following function are no more +available: + +``` +github.com/arduino/arduino-cli/commands.UpdateCoreLibrariesIndex(...) +github.com/arduino/arduino-cli/commands/outdated.Outdated(...) +github.com/arduino/arduino-cli/commands/upgrade.Upgrade(...) +``` + +you can use the following functions as a replacement to do the same tasks: + +``` +github.com/arduino/arduino-cli/commands.UpdateLibrariesIndex(...) +github.com/arduino/arduino-cli/commands.UpdateIndex(...) +github.com/arduino/arduino-cli/commands/core.GetPlatforms(...) +github.com/arduino/arduino-cli/commands/lib.LibraryList(...) +github.com/arduino/arduino-cli/commands/lib.LibraryUpgrade(...) +github.com/arduino/arduino-cli/commands/lib.LibraryUpgradeAll(...) +github.com/arduino/arduino-cli/commands/core.PlatformUpgrade(...) +``` + +### Changes in golang functions `github.com/arduino/arduino-cli/cli/instance.Init` and `InitWithProfile` + +The following functions: + +```go +func Init(instance *rpc.Instance) []error { } +func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) (*rpc.Profile, []error) { } +``` + +no longer return the errors array: + +```go +func Init(instance *rpc.Instance) { } +func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.Profile { } +``` + +The errors are automatically sent to output via `feedback` package, as for the other `Init*` functions. + ## 0.28.0 ### Breaking changes in libraries name handling diff --git a/internal/integrationtest/outdated/outdated_test.go b/internal/integrationtest/outdated/outdated_test.go index 24a10370a2c..64e1f39304e 100644 --- a/internal/integrationtest/outdated/outdated_test.go +++ b/internal/integrationtest/outdated/outdated_test.go @@ -80,11 +80,5 @@ func TestOutdatedUsingLibraryWithInvalidVersion(t *testing.T) { // Verifies library is correctly returned stdout, _, err = cli.Run("outdated") require.NoError(t, err) - lines := strings.Split(string(stdout), "\n") - l := make([][]string, len(lines)) - for i := range lines { - lines[i] = strings.TrimSpace(lines[i]) - l[i] = strings.Split(lines[i], " ") - } - require.Contains(t, l[1][0], "WiFi101") + require.Contains(t, string(stdout), "WiFi101") } diff --git a/internal/integrationtest/update/update_test.go b/internal/integrationtest/update/update_test.go index ec4a102c858..8bfe7a46c49 100644 --- a/internal/integrationtest/update/update_test.go +++ b/internal/integrationtest/update/update_test.go @@ -64,10 +64,10 @@ func TestUpdateShowingOutdated(t *testing.T) { lines[i] = strings.TrimSpace(lines[i]) } - require.Contains(t, lines[0], "Downloading index: package_index.tar.bz2 downloaded") - require.Contains(t, lines[1], "Downloading index: library_index.tar.bz2 downloaded") - require.True(t, strings.HasPrefix(lines[3], "Arduino AVR Boards")) - require.True(t, strings.HasPrefix(lines[6], "USBHost")) + require.Contains(t, lines[0], "Downloading index: library_index.tar.bz2 downloaded") + require.Contains(t, lines[1], "Downloading index: package_index.tar.bz2 downloaded") + require.Contains(t, lines[3], "Arduino AVR Boards") + require.Contains(t, lines[6], "USBHost") } func TestUpdateWithUrlNotFound(t *testing.T) { diff --git a/internal/integrationtest/upgrade/upgrade_test.go b/internal/integrationtest/upgrade/upgrade_test.go index 04e359d1ac3..ffd8ecbe8e7 100644 --- a/internal/integrationtest/upgrade/upgrade_test.go +++ b/internal/integrationtest/upgrade/upgrade_test.go @@ -58,7 +58,7 @@ func TestUpgrade(t *testing.T) { // Verifies cores and libraries have been updated stdout, _, err = cli.Run("outdated") require.NoError(t, err) - require.Equal(t, string(stdout), "\n") + require.Contains(t, string(stdout), "No libraries update is available.") } func TestUpgradeUsingLibraryWithInvalidVersion(t *testing.T) { diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 039e5a01f83..93a04ac6655 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -431,7 +431,7 @@ type UpdateIndexResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the platforms index download. + // Progress of the package index download. DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3" json:"download_progress,omitempty"` } @@ -570,321 +570,6 @@ func (x *UpdateLibrariesIndexResponse) GetDownloadProgress() *DownloadProgress { return nil } -type UpdateCoreLibrariesIndexRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Arduino Core Service instance from the Init response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` -} - -func (x *UpdateCoreLibrariesIndexRequest) Reset() { - *x = UpdateCoreLibrariesIndexRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateCoreLibrariesIndexRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateCoreLibrariesIndexRequest) ProtoMessage() {} - -func (x *UpdateCoreLibrariesIndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateCoreLibrariesIndexRequest.ProtoReflect.Descriptor instead. -func (*UpdateCoreLibrariesIndexRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{10} -} - -func (x *UpdateCoreLibrariesIndexRequest) GetInstance() *Instance { - if x != nil { - return x.Instance - } - return nil -} - -type UpdateCoreLibrariesIndexResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Progress of the index download. - DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3" json:"download_progress,omitempty"` -} - -func (x *UpdateCoreLibrariesIndexResponse) Reset() { - *x = UpdateCoreLibrariesIndexResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateCoreLibrariesIndexResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateCoreLibrariesIndexResponse) ProtoMessage() {} - -func (x *UpdateCoreLibrariesIndexResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateCoreLibrariesIndexResponse.ProtoReflect.Descriptor instead. -func (*UpdateCoreLibrariesIndexResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{11} -} - -func (x *UpdateCoreLibrariesIndexResponse) GetDownloadProgress() *DownloadProgress { - if x != nil { - return x.DownloadProgress - } - return nil -} - -type OutdatedRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Arduino Core Service instance from the Init response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` -} - -func (x *OutdatedRequest) Reset() { - *x = OutdatedRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutdatedRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutdatedRequest) ProtoMessage() {} - -func (x *OutdatedRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutdatedRequest.ProtoReflect.Descriptor instead. -func (*OutdatedRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{12} -} - -func (x *OutdatedRequest) GetInstance() *Instance { - if x != nil { - return x.Instance - } - return nil -} - -type OutdatedResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of installed libraries that can be updated. - OutdatedLibraries []*InstalledLibrary `protobuf:"bytes,1,rep,name=outdated_libraries,json=outdatedLibraries,proto3" json:"outdated_libraries,omitempty"` - // List of installed cores that can be updated. - OutdatedPlatforms []*Platform `protobuf:"bytes,2,rep,name=outdated_platforms,json=outdatedPlatforms,proto3" json:"outdated_platforms,omitempty"` -} - -func (x *OutdatedResponse) Reset() { - *x = OutdatedResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutdatedResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutdatedResponse) ProtoMessage() {} - -func (x *OutdatedResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutdatedResponse.ProtoReflect.Descriptor instead. -func (*OutdatedResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{13} -} - -func (x *OutdatedResponse) GetOutdatedLibraries() []*InstalledLibrary { - if x != nil { - return x.OutdatedLibraries - } - return nil -} - -func (x *OutdatedResponse) GetOutdatedPlatforms() []*Platform { - if x != nil { - return x.OutdatedPlatforms - } - return nil -} - -type UpgradeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Arduino Core Service instance from the Init response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Set to true to not run (eventual) post install scripts - SkipPostInstall bool `protobuf:"varint,2,opt,name=skip_post_install,json=skipPostInstall,proto3" json:"skip_post_install,omitempty"` -} - -func (x *UpgradeRequest) Reset() { - *x = UpgradeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpgradeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpgradeRequest) ProtoMessage() {} - -func (x *UpgradeRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpgradeRequest.ProtoReflect.Descriptor instead. -func (*UpgradeRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{14} -} - -func (x *UpgradeRequest) GetInstance() *Instance { - if x != nil { - return x.Instance - } - return nil -} - -func (x *UpgradeRequest) GetSkipPostInstall() bool { - if x != nil { - return x.SkipPostInstall - } - return false -} - -type UpgradeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Progress of the downloads of the platforms and libraries files. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the upgrade. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` -} - -func (x *UpgradeResponse) Reset() { - *x = UpgradeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpgradeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpgradeResponse) ProtoMessage() {} - -func (x *UpgradeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpgradeResponse.ProtoReflect.Descriptor instead. -func (*UpgradeResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{15} -} - -func (x *UpgradeResponse) GetProgress() *DownloadProgress { - if x != nil { - return x.Progress - } - return nil -} - -func (x *UpgradeResponse) GetTaskProgress() *TaskProgress { - if x != nil { - return x.TaskProgress - } - return nil -} - type VersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -894,7 +579,7 @@ type VersionRequest struct { func (x *VersionRequest) Reset() { *x = VersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -907,7 +592,7 @@ func (x *VersionRequest) String() string { func (*VersionRequest) ProtoMessage() {} func (x *VersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -920,7 +605,7 @@ func (x *VersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. func (*VersionRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{10} } type VersionResponse struct { @@ -935,7 +620,7 @@ type VersionResponse struct { func (x *VersionResponse) Reset() { *x = VersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -948,7 +633,7 @@ func (x *VersionResponse) String() string { func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -961,7 +646,7 @@ func (x *VersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{11} } func (x *VersionResponse) GetVersion() string { @@ -990,7 +675,7 @@ type NewSketchRequest struct { func (x *NewSketchRequest) Reset() { *x = NewSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1003,7 +688,7 @@ func (x *NewSketchRequest) String() string { func (*NewSketchRequest) ProtoMessage() {} func (x *NewSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1016,7 +701,7 @@ func (x *NewSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewSketchRequest.ProtoReflect.Descriptor instead. func (*NewSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{18} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{12} } func (x *NewSketchRequest) GetInstance() *Instance { @@ -1052,7 +737,7 @@ type NewSketchResponse struct { func (x *NewSketchResponse) Reset() { *x = NewSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1065,7 +750,7 @@ func (x *NewSketchResponse) String() string { func (*NewSketchResponse) ProtoMessage() {} func (x *NewSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1078,7 +763,7 @@ func (x *NewSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NewSketchResponse.ProtoReflect.Descriptor instead. func (*NewSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{19} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{13} } func (x *NewSketchResponse) GetMainFile() string { @@ -1102,7 +787,7 @@ type LoadSketchRequest struct { func (x *LoadSketchRequest) Reset() { *x = LoadSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1115,7 +800,7 @@ func (x *LoadSketchRequest) String() string { func (*LoadSketchRequest) ProtoMessage() {} func (x *LoadSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1128,7 +813,7 @@ func (x *LoadSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSketchRequest.ProtoReflect.Descriptor instead. func (*LoadSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{20} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{14} } func (x *LoadSketchRequest) GetInstance() *Instance { @@ -1166,7 +851,7 @@ type LoadSketchResponse struct { func (x *LoadSketchResponse) Reset() { *x = LoadSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1179,7 +864,7 @@ func (x *LoadSketchResponse) String() string { func (*LoadSketchResponse) ProtoMessage() {} func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1192,7 +877,7 @@ func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSketchResponse.ProtoReflect.Descriptor instead. func (*LoadSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{21} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{15} } func (x *LoadSketchResponse) GetMainFile() string { @@ -1247,7 +932,7 @@ type ArchiveSketchRequest struct { func (x *ArchiveSketchRequest) Reset() { *x = ArchiveSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1260,7 +945,7 @@ func (x *ArchiveSketchRequest) String() string { func (*ArchiveSketchRequest) ProtoMessage() {} func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1273,7 +958,7 @@ func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchRequest.ProtoReflect.Descriptor instead. func (*ArchiveSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{22} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} } func (x *ArchiveSketchRequest) GetSketchPath() string { @@ -1306,7 +991,7 @@ type ArchiveSketchResponse struct { func (x *ArchiveSketchResponse) Reset() { *x = ArchiveSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1319,7 +1004,7 @@ func (x *ArchiveSketchResponse) String() string { func (*ArchiveSketchResponse) ProtoMessage() {} func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1332,7 +1017,7 @@ func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchResponse.ProtoReflect.Descriptor instead. func (*ArchiveSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{23} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} } type InitResponse_Progress struct { @@ -1349,7 +1034,7 @@ type InitResponse_Progress struct { func (x *InitResponse_Progress) Reset() { *x = InitResponse_Progress{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1362,7 +1047,7 @@ func (x *InitResponse_Progress) String() string { func (*InitResponse_Progress) ProtoMessage() {} func (x *InitResponse_Progress) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1496,434 +1181,360 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x63, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7d, 0x0a, - 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x53, 0x0a, 0x0f, - 0x4f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x52, 0x11, 0x6f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x7e, 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x6f, 0x73, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x22, 0x30, 0x0a, 0x11, 0x4e, - 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x76, 0x0a, - 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x50, 0x61, 0x74, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, - 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, - 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, - 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x22, 0x17, 0x0a, 0x15, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa8, 0x28, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x22, 0x30, + 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, + 0x22, 0x76, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, - 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x61, + 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, + 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, + 0x72, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x22, + 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbb, 0x25, 0x0a, 0x12, 0x41, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x08, 0x4f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, - 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, - 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, - 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, - 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x70, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, - 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, - 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7b, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x64, 0x0a, - 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, + 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, + 0x01, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, + 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, + 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, - 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, - 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, + 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, + 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, + 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, - 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, - 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, - 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, + 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, - 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, - 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, + 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1938,7 +1549,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*CreateRequest)(nil), // 0: cc.arduino.cli.commands.v1.CreateRequest (*CreateResponse)(nil), // 1: cc.arduino.cli.commands.v1.CreateResponse @@ -1950,201 +1561,179 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*UpdateIndexResponse)(nil), // 7: cc.arduino.cli.commands.v1.UpdateIndexResponse (*UpdateLibrariesIndexRequest)(nil), // 8: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest (*UpdateLibrariesIndexResponse)(nil), // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - (*UpdateCoreLibrariesIndexRequest)(nil), // 10: cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexRequest - (*UpdateCoreLibrariesIndexResponse)(nil), // 11: cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexResponse - (*OutdatedRequest)(nil), // 12: cc.arduino.cli.commands.v1.OutdatedRequest - (*OutdatedResponse)(nil), // 13: cc.arduino.cli.commands.v1.OutdatedResponse - (*UpgradeRequest)(nil), // 14: cc.arduino.cli.commands.v1.UpgradeRequest - (*UpgradeResponse)(nil), // 15: cc.arduino.cli.commands.v1.UpgradeResponse - (*VersionRequest)(nil), // 16: cc.arduino.cli.commands.v1.VersionRequest - (*VersionResponse)(nil), // 17: cc.arduino.cli.commands.v1.VersionResponse - (*NewSketchRequest)(nil), // 18: cc.arduino.cli.commands.v1.NewSketchRequest - (*NewSketchResponse)(nil), // 19: cc.arduino.cli.commands.v1.NewSketchResponse - (*LoadSketchRequest)(nil), // 20: cc.arduino.cli.commands.v1.LoadSketchRequest - (*LoadSketchResponse)(nil), // 21: cc.arduino.cli.commands.v1.LoadSketchResponse - (*ArchiveSketchRequest)(nil), // 22: cc.arduino.cli.commands.v1.ArchiveSketchRequest - (*ArchiveSketchResponse)(nil), // 23: cc.arduino.cli.commands.v1.ArchiveSketchResponse - (*InitResponse_Progress)(nil), // 24: cc.arduino.cli.commands.v1.InitResponse.Progress - (*Instance)(nil), // 25: cc.arduino.cli.commands.v1.Instance - (*status.Status)(nil), // 26: google.rpc.Status - (*Profile)(nil), // 27: cc.arduino.cli.commands.v1.Profile - (*DownloadProgress)(nil), // 28: cc.arduino.cli.commands.v1.DownloadProgress - (*InstalledLibrary)(nil), // 29: cc.arduino.cli.commands.v1.InstalledLibrary - (*Platform)(nil), // 30: cc.arduino.cli.commands.v1.Platform - (*TaskProgress)(nil), // 31: cc.arduino.cli.commands.v1.TaskProgress - (*BoardDetailsRequest)(nil), // 32: cc.arduino.cli.commands.v1.BoardDetailsRequest - (*BoardAttachRequest)(nil), // 33: cc.arduino.cli.commands.v1.BoardAttachRequest - (*BoardListRequest)(nil), // 34: cc.arduino.cli.commands.v1.BoardListRequest - (*BoardListAllRequest)(nil), // 35: cc.arduino.cli.commands.v1.BoardListAllRequest - (*BoardSearchRequest)(nil), // 36: cc.arduino.cli.commands.v1.BoardSearchRequest - (*BoardListWatchRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardListWatchRequest - (*CompileRequest)(nil), // 38: cc.arduino.cli.commands.v1.CompileRequest - (*PlatformInstallRequest)(nil), // 39: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformDownloadRequest)(nil), // 40: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformUninstallRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUpgradeRequest)(nil), // 42: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*UploadRequest)(nil), // 43: cc.arduino.cli.commands.v1.UploadRequest - (*UploadUsingProgrammerRequest)(nil), // 44: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - (*SupportedUserFieldsRequest)(nil), // 45: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - (*ListProgrammersAvailableForUploadRequest)(nil), // 46: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - (*BurnBootloaderRequest)(nil), // 47: cc.arduino.cli.commands.v1.BurnBootloaderRequest - (*PlatformSearchRequest)(nil), // 48: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*PlatformListRequest)(nil), // 49: cc.arduino.cli.commands.v1.PlatformListRequest - (*LibraryDownloadRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 53: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 57: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 60: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 61: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*BoardDetailsResponse)(nil), // 62: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardAttachResponse)(nil), // 63: cc.arduino.cli.commands.v1.BoardAttachResponse - (*BoardListResponse)(nil), // 64: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 65: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 66: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 67: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 68: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 69: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 70: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 71: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 72: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 73: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 74: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 75: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 76: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 77: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 78: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*PlatformListResponse)(nil), // 79: cc.arduino.cli.commands.v1.PlatformListResponse - (*LibraryDownloadResponse)(nil), // 80: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 83: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 84: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 85: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 90: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 91: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*VersionRequest)(nil), // 10: cc.arduino.cli.commands.v1.VersionRequest + (*VersionResponse)(nil), // 11: cc.arduino.cli.commands.v1.VersionResponse + (*NewSketchRequest)(nil), // 12: cc.arduino.cli.commands.v1.NewSketchRequest + (*NewSketchResponse)(nil), // 13: cc.arduino.cli.commands.v1.NewSketchResponse + (*LoadSketchRequest)(nil), // 14: cc.arduino.cli.commands.v1.LoadSketchRequest + (*LoadSketchResponse)(nil), // 15: cc.arduino.cli.commands.v1.LoadSketchResponse + (*ArchiveSketchRequest)(nil), // 16: cc.arduino.cli.commands.v1.ArchiveSketchRequest + (*ArchiveSketchResponse)(nil), // 17: cc.arduino.cli.commands.v1.ArchiveSketchResponse + (*InitResponse_Progress)(nil), // 18: cc.arduino.cli.commands.v1.InitResponse.Progress + (*Instance)(nil), // 19: cc.arduino.cli.commands.v1.Instance + (*status.Status)(nil), // 20: google.rpc.Status + (*Profile)(nil), // 21: cc.arduino.cli.commands.v1.Profile + (*DownloadProgress)(nil), // 22: cc.arduino.cli.commands.v1.DownloadProgress + (*TaskProgress)(nil), // 23: cc.arduino.cli.commands.v1.TaskProgress + (*BoardDetailsRequest)(nil), // 24: cc.arduino.cli.commands.v1.BoardDetailsRequest + (*BoardAttachRequest)(nil), // 25: cc.arduino.cli.commands.v1.BoardAttachRequest + (*BoardListRequest)(nil), // 26: cc.arduino.cli.commands.v1.BoardListRequest + (*BoardListAllRequest)(nil), // 27: cc.arduino.cli.commands.v1.BoardListAllRequest + (*BoardSearchRequest)(nil), // 28: cc.arduino.cli.commands.v1.BoardSearchRequest + (*BoardListWatchRequest)(nil), // 29: cc.arduino.cli.commands.v1.BoardListWatchRequest + (*CompileRequest)(nil), // 30: cc.arduino.cli.commands.v1.CompileRequest + (*PlatformInstallRequest)(nil), // 31: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformDownloadRequest)(nil), // 32: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformUninstallRequest)(nil), // 33: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUpgradeRequest)(nil), // 34: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*UploadRequest)(nil), // 35: cc.arduino.cli.commands.v1.UploadRequest + (*UploadUsingProgrammerRequest)(nil), // 36: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + (*SupportedUserFieldsRequest)(nil), // 37: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + (*ListProgrammersAvailableForUploadRequest)(nil), // 38: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + (*BurnBootloaderRequest)(nil), // 39: cc.arduino.cli.commands.v1.BurnBootloaderRequest + (*PlatformSearchRequest)(nil), // 40: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*PlatformListRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformListRequest + (*LibraryDownloadRequest)(nil), // 42: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 43: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 44: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 45: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 46: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 47: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 48: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 49: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 52: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 53: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*BoardDetailsResponse)(nil), // 54: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardAttachResponse)(nil), // 55: cc.arduino.cli.commands.v1.BoardAttachResponse + (*BoardListResponse)(nil), // 56: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 57: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 58: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 59: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 60: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 61: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 62: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 63: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 64: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 65: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 66: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 67: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 68: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 69: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 70: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*PlatformListResponse)(nil), // 71: cc.arduino.cli.commands.v1.PlatformListResponse + (*LibraryDownloadResponse)(nil), // 72: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 73: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 74: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 75: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 76: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 77: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 78: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 79: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 80: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 82: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 83: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 25, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 25, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 26, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 27, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile - 25, // 5: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 25, // 6: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 28, // 7: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 25, // 8: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 28, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 25, // 10: cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 28, // 11: cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 25, // 12: cc.arduino.cli.commands.v1.OutdatedRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 29, // 13: cc.arduino.cli.commands.v1.OutdatedResponse.outdated_libraries:type_name -> cc.arduino.cli.commands.v1.InstalledLibrary - 30, // 14: cc.arduino.cli.commands.v1.OutdatedResponse.outdated_platforms:type_name -> cc.arduino.cli.commands.v1.Platform - 25, // 15: cc.arduino.cli.commands.v1.UpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 28, // 16: cc.arduino.cli.commands.v1.UpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 31, // 17: cc.arduino.cli.commands.v1.UpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 25, // 18: cc.arduino.cli.commands.v1.NewSketchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 25, // 19: cc.arduino.cli.commands.v1.LoadSketchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 28, // 20: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 31, // 21: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 0, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest - 2, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest - 4, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest - 6, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest - 8, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - 10, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateCoreLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexRequest - 12, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.Outdated:input_type -> cc.arduino.cli.commands.v1.OutdatedRequest - 14, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.Upgrade:input_type -> cc.arduino.cli.commands.v1.UpgradeRequest - 16, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest - 18, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest - 20, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest - 22, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest - 32, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 33, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardAttach:input_type -> cc.arduino.cli.commands.v1.BoardAttachRequest - 34, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 35, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 36, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 37, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 38, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 39, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 40, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 41, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 42, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 43, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 44, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 45, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 46, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 47, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 48, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 49, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:input_type -> cc.arduino.cli.commands.v1.PlatformListRequest - 50, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 51, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 52, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 53, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 54, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 55, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 56, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 57, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 58, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 59, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 60, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 61, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 1, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 3, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 5, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 7, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 9, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 11, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateCoreLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateCoreLibrariesIndexResponse - 13, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Outdated:output_type -> cc.arduino.cli.commands.v1.OutdatedResponse - 15, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Upgrade:output_type -> cc.arduino.cli.commands.v1.UpgradeResponse - 17, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 19, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 21, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 23, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 62, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 63, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardAttach:output_type -> cc.arduino.cli.commands.v1.BoardAttachResponse - 64, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 65, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 66, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 67, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 68, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 69, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 70, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 71, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 72, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 73, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 74, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 75, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 76, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 77, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 78, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 79, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:output_type -> cc.arduino.cli.commands.v1.PlatformListResponse - 80, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 81, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 82, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 83, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 84, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 85, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 86, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 87, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 88, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 89, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 90, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 91, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 64, // [64:106] is the sub-list for method output_type - 22, // [22:64] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 19, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 19, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 18, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 20, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 21, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile + 19, // 5: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 19, // 6: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 22, // 7: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 19, // 8: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 22, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 19, // 10: cc.arduino.cli.commands.v1.NewSketchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 19, // 11: cc.arduino.cli.commands.v1.LoadSketchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 22, // 12: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 23, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 0, // 14: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest + 2, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest + 4, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest + 6, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest + 8, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + 10, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest + 12, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest + 14, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest + 16, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest + 24, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 25, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardAttach:input_type -> cc.arduino.cli.commands.v1.BoardAttachRequest + 26, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 27, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 28, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 29, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 30, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 31, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 32, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 33, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 34, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 35, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 36, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 37, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 38, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 39, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 40, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 41, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:input_type -> cc.arduino.cli.commands.v1.PlatformListRequest + 42, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 43, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 44, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 45, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 46, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 47, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 48, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 49, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 50, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 51, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 52, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 53, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 1, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 3, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 5, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 7, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 9, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 11, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 13, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 15, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 17, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 54, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 55, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardAttach:output_type -> cc.arduino.cli.commands.v1.BoardAttachResponse + 56, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 57, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 58, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 59, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 60, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 61, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 62, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 63, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 64, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 65, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 66, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 67, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 68, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 69, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 70, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 71, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:output_type -> cc.arduino.cli.commands.v1.PlatformListResponse + 72, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 73, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 74, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 75, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 76, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 77, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 78, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 79, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 80, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 81, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 82, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 83, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 53, // [53:92] is the sub-list for method output_type + 14, // [14:53] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_commands_proto_init() } @@ -2281,78 +1870,6 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCoreLibrariesIndexRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCoreLibrariesIndexResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutdatedRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutdatedResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpgradeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpgradeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionRequest); i { case 0: return &v.state @@ -2364,7 +1881,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionResponse); i { case 0: return &v.state @@ -2376,7 +1893,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewSketchRequest); i { case 0: return &v.state @@ -2388,7 +1905,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewSketchResponse); i { case 0: return &v.state @@ -2400,7 +1917,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadSketchRequest); i { case 0: return &v.state @@ -2412,7 +1929,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadSketchResponse); i { case 0: return &v.state @@ -2424,7 +1941,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveSketchRequest); i { case 0: return &v.state @@ -2436,7 +1953,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveSketchResponse); i { case 0: return &v.state @@ -2448,7 +1965,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitResponse_Progress); i { case 0: return &v.state @@ -2472,7 +1989,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_commands_proto_rawDesc, NumEnums: 0, - NumMessages: 25, + NumMessages: 19, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 249f0c6b04e..4874d84f2d0 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -51,16 +51,6 @@ service ArduinoCoreService { rpc UpdateLibrariesIndex(UpdateLibrariesIndexRequest) returns (stream UpdateLibrariesIndexResponse) {} - // Update packages indexes for both Cores and Libraries - rpc UpdateCoreLibrariesIndex(UpdateCoreLibrariesIndexRequest) - returns (stream UpdateCoreLibrariesIndexResponse) {} - - // Outdated returns a message with a list of outdated Cores and Libraries - rpc Outdated(OutdatedRequest) returns (OutdatedResponse) {} - - // Upgrade both Cores and Libraries - rpc Upgrade(UpgradeRequest) returns (stream UpgradeResponse) {} - // Get the version of Arduino CLI in use. rpc Version(VersionRequest) returns (VersionResponse) {} @@ -252,42 +242,6 @@ message UpdateLibrariesIndexResponse { DownloadProgress download_progress = 1; } -message UpdateCoreLibrariesIndexRequest { - // Arduino Core Service instance from the Init response. - Instance instance = 1; -} - -message UpdateCoreLibrariesIndexResponse { - // Progress of the index download. - DownloadProgress download_progress = 1; -} - -message OutdatedRequest { - // Arduino Core Service instance from the Init response. - Instance instance = 1; -} - -message OutdatedResponse { - // List of installed libraries that can be updated. - repeated InstalledLibrary outdated_libraries = 1; - // List of installed cores that can be updated. - repeated Platform outdated_platforms = 2; -} - -message UpgradeRequest { - // Arduino Core Service instance from the Init response. - Instance instance = 1; - // Set to true to not run (eventual) post install scripts - bool skip_post_install = 2; -} - -message UpgradeResponse { - // Progress of the downloads of the platforms and libraries files. - DownloadProgress progress = 1; - // Description of the current stage of the upgrade. - TaskProgress task_progress = 2; -} - message VersionRequest {} message VersionResponse { diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 46eb24ee9fd..27348321c5f 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -33,12 +33,6 @@ type ArduinoCoreServiceClient interface { UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateIndexClient, error) // Update libraries index UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateLibrariesIndexClient, error) - // Update packages indexes for both Cores and Libraries - UpdateCoreLibrariesIndex(ctx context.Context, in *UpdateCoreLibrariesIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateCoreLibrariesIndexClient, error) - // Outdated returns a message with a list of outdated Cores and Libraries - Outdated(ctx context.Context, in *OutdatedRequest, opts ...grpc.CallOption) (*OutdatedResponse, error) - // Upgrade both Cores and Libraries - Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpgradeClient, error) // Get the version of Arduino CLI in use. Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) // Create a new Sketch @@ -237,79 +231,6 @@ func (x *arduinoCoreServiceUpdateLibrariesIndexClient) Recv() (*UpdateLibrariesI return m, nil } -func (c *arduinoCoreServiceClient) UpdateCoreLibrariesIndex(ctx context.Context, in *UpdateCoreLibrariesIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateCoreLibrariesIndexClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[3], "/cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateCoreLibrariesIndex", opts...) - if err != nil { - return nil, err - } - x := &arduinoCoreServiceUpdateCoreLibrariesIndexClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ArduinoCoreService_UpdateCoreLibrariesIndexClient interface { - Recv() (*UpdateCoreLibrariesIndexResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceUpdateCoreLibrariesIndexClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceUpdateCoreLibrariesIndexClient) Recv() (*UpdateCoreLibrariesIndexResponse, error) { - m := new(UpdateCoreLibrariesIndexResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) Outdated(ctx context.Context, in *OutdatedRequest, opts ...grpc.CallOption) (*OutdatedResponse, error) { - out := new(OutdatedResponse) - err := c.cc.Invoke(ctx, "/cc.arduino.cli.commands.v1.ArduinoCoreService/Outdated", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *arduinoCoreServiceClient) Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpgradeClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[4], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Upgrade", opts...) - if err != nil { - return nil, err - } - x := &arduinoCoreServiceUpgradeClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ArduinoCoreService_UpgradeClient interface { - Recv() (*UpgradeResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceUpgradeClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceUpgradeClient) Recv() (*UpgradeResponse, error) { - m := new(UpgradeResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - func (c *arduinoCoreServiceClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) { out := new(VersionResponse) err := c.cc.Invoke(ctx, "/cc.arduino.cli.commands.v1.ArduinoCoreService/Version", in, out, opts...) @@ -356,7 +277,7 @@ func (c *arduinoCoreServiceClient) BoardDetails(ctx context.Context, in *BoardDe } func (c *arduinoCoreServiceClient) BoardAttach(ctx context.Context, in *BoardAttachRequest, opts ...grpc.CallOption) (ArduinoCoreService_BoardAttachClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[5], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardAttach", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[3], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardAttach", opts...) if err != nil { return nil, err } @@ -415,7 +336,7 @@ func (c *arduinoCoreServiceClient) BoardSearch(ctx context.Context, in *BoardSea } func (c *arduinoCoreServiceClient) BoardListWatch(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_BoardListWatchClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[6], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListWatch", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[4], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListWatch", opts...) if err != nil { return nil, err } @@ -446,7 +367,7 @@ func (x *arduinoCoreServiceBoardListWatchClient) Recv() (*BoardListWatchResponse } func (c *arduinoCoreServiceClient) Compile(ctx context.Context, in *CompileRequest, opts ...grpc.CallOption) (ArduinoCoreService_CompileClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[7], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Compile", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[5], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Compile", opts...) if err != nil { return nil, err } @@ -478,7 +399,7 @@ func (x *arduinoCoreServiceCompileClient) Recv() (*CompileResponse, error) { } func (c *arduinoCoreServiceClient) PlatformInstall(ctx context.Context, in *PlatformInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[8], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformInstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[6], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformInstall", opts...) if err != nil { return nil, err } @@ -510,7 +431,7 @@ func (x *arduinoCoreServicePlatformInstallClient) Recv() (*PlatformInstallRespon } func (c *arduinoCoreServiceClient) PlatformDownload(ctx context.Context, in *PlatformDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformDownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[9], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformDownload", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[7], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformDownload", opts...) if err != nil { return nil, err } @@ -542,7 +463,7 @@ func (x *arduinoCoreServicePlatformDownloadClient) Recv() (*PlatformDownloadResp } func (c *arduinoCoreServiceClient) PlatformUninstall(ctx context.Context, in *PlatformUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUninstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[10], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformUninstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[8], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformUninstall", opts...) if err != nil { return nil, err } @@ -574,7 +495,7 @@ func (x *arduinoCoreServicePlatformUninstallClient) Recv() (*PlatformUninstallRe } func (c *arduinoCoreServiceClient) PlatformUpgrade(ctx context.Context, in *PlatformUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUpgradeClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[11], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformUpgrade", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[9], "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformUpgrade", opts...) if err != nil { return nil, err } @@ -606,7 +527,7 @@ func (x *arduinoCoreServicePlatformUpgradeClient) Recv() (*PlatformUpgradeRespon } func (c *arduinoCoreServiceClient) Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[12], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Upload", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[10], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Upload", opts...) if err != nil { return nil, err } @@ -638,7 +559,7 @@ func (x *arduinoCoreServiceUploadClient) Recv() (*UploadResponse, error) { } func (c *arduinoCoreServiceClient) UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadUsingProgrammerClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[13], "/cc.arduino.cli.commands.v1.ArduinoCoreService/UploadUsingProgrammer", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[11], "/cc.arduino.cli.commands.v1.ArduinoCoreService/UploadUsingProgrammer", opts...) if err != nil { return nil, err } @@ -688,7 +609,7 @@ func (c *arduinoCoreServiceClient) ListProgrammersAvailableForUpload(ctx context } func (c *arduinoCoreServiceClient) BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (ArduinoCoreService_BurnBootloaderClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[14], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BurnBootloader", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[12], "/cc.arduino.cli.commands.v1.ArduinoCoreService/BurnBootloader", opts...) if err != nil { return nil, err } @@ -738,7 +659,7 @@ func (c *arduinoCoreServiceClient) PlatformList(ctx context.Context, in *Platfor } func (c *arduinoCoreServiceClient) LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryDownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[15], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryDownload", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[13], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryDownload", opts...) if err != nil { return nil, err } @@ -770,7 +691,7 @@ func (x *arduinoCoreServiceLibraryDownloadClient) Recv() (*LibraryDownloadRespon } func (c *arduinoCoreServiceClient) LibraryInstall(ctx context.Context, in *LibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[16], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryInstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[14], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryInstall", opts...) if err != nil { return nil, err } @@ -802,7 +723,7 @@ func (x *arduinoCoreServiceLibraryInstallClient) Recv() (*LibraryInstallResponse } func (c *arduinoCoreServiceClient) LibraryUpgrade(ctx context.Context, in *LibraryUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[17], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUpgrade", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[15], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUpgrade", opts...) if err != nil { return nil, err } @@ -834,7 +755,7 @@ func (x *arduinoCoreServiceLibraryUpgradeClient) Recv() (*LibraryUpgradeResponse } func (c *arduinoCoreServiceClient) ZipLibraryInstall(ctx context.Context, in *ZipLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_ZipLibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[18], "/cc.arduino.cli.commands.v1.ArduinoCoreService/ZipLibraryInstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[16], "/cc.arduino.cli.commands.v1.ArduinoCoreService/ZipLibraryInstall", opts...) if err != nil { return nil, err } @@ -866,7 +787,7 @@ func (x *arduinoCoreServiceZipLibraryInstallClient) Recv() (*ZipLibraryInstallRe } func (c *arduinoCoreServiceClient) GitLibraryInstall(ctx context.Context, in *GitLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_GitLibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[19], "/cc.arduino.cli.commands.v1.ArduinoCoreService/GitLibraryInstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[17], "/cc.arduino.cli.commands.v1.ArduinoCoreService/GitLibraryInstall", opts...) if err != nil { return nil, err } @@ -898,7 +819,7 @@ func (x *arduinoCoreServiceGitLibraryInstallClient) Recv() (*GitLibraryInstallRe } func (c *arduinoCoreServiceClient) LibraryUninstall(ctx context.Context, in *LibraryUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUninstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[20], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUninstall", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[18], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUninstall", opts...) if err != nil { return nil, err } @@ -930,7 +851,7 @@ func (x *arduinoCoreServiceLibraryUninstallClient) Recv() (*LibraryUninstallResp } func (c *arduinoCoreServiceClient) LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeAllClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[21], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUpgradeAll", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[19], "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUpgradeAll", opts...) if err != nil { return nil, err } @@ -989,7 +910,7 @@ func (c *arduinoCoreServiceClient) LibraryList(ctx context.Context, in *LibraryL } func (c *arduinoCoreServiceClient) Monitor(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_MonitorClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[22], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Monitor", opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[20], "/cc.arduino.cli.commands.v1.ArduinoCoreService/Monitor", opts...) if err != nil { return nil, err } @@ -1043,12 +964,6 @@ type ArduinoCoreServiceServer interface { UpdateIndex(*UpdateIndexRequest, ArduinoCoreService_UpdateIndexServer) error // Update libraries index UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, ArduinoCoreService_UpdateLibrariesIndexServer) error - // Update packages indexes for both Cores and Libraries - UpdateCoreLibrariesIndex(*UpdateCoreLibrariesIndexRequest, ArduinoCoreService_UpdateCoreLibrariesIndexServer) error - // Outdated returns a message with a list of outdated Cores and Libraries - Outdated(context.Context, *OutdatedRequest) (*OutdatedResponse, error) - // Upgrade both Cores and Libraries - Upgrade(*UpgradeRequest, ArduinoCoreService_UpgradeServer) error // Get the version of Arduino CLI in use. Version(context.Context, *VersionRequest) (*VersionResponse, error) // Create a new Sketch @@ -1145,15 +1060,6 @@ func (UnimplementedArduinoCoreServiceServer) UpdateIndex(*UpdateIndexRequest, Ar func (UnimplementedArduinoCoreServiceServer) UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, ArduinoCoreService_UpdateLibrariesIndexServer) error { return status.Errorf(codes.Unimplemented, "method UpdateLibrariesIndex not implemented") } -func (UnimplementedArduinoCoreServiceServer) UpdateCoreLibrariesIndex(*UpdateCoreLibrariesIndexRequest, ArduinoCoreService_UpdateCoreLibrariesIndexServer) error { - return status.Errorf(codes.Unimplemented, "method UpdateCoreLibrariesIndex not implemented") -} -func (UnimplementedArduinoCoreServiceServer) Outdated(context.Context, *OutdatedRequest) (*OutdatedResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Outdated not implemented") -} -func (UnimplementedArduinoCoreServiceServer) Upgrade(*UpgradeRequest, ArduinoCoreService_UpgradeServer) error { - return status.Errorf(codes.Unimplemented, "method Upgrade not implemented") -} func (UnimplementedArduinoCoreServiceServer) Version(context.Context, *VersionRequest) (*VersionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Version not implemented") } @@ -1368,66 +1274,6 @@ func (x *arduinoCoreServiceUpdateLibrariesIndexServer) Send(m *UpdateLibrariesIn return x.ServerStream.SendMsg(m) } -func _ArduinoCoreService_UpdateCoreLibrariesIndex_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(UpdateCoreLibrariesIndexRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ArduinoCoreServiceServer).UpdateCoreLibrariesIndex(m, &arduinoCoreServiceUpdateCoreLibrariesIndexServer{stream}) -} - -type ArduinoCoreService_UpdateCoreLibrariesIndexServer interface { - Send(*UpdateCoreLibrariesIndexResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceUpdateCoreLibrariesIndexServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUpdateCoreLibrariesIndexServer) Send(m *UpdateCoreLibrariesIndexResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _ArduinoCoreService_Outdated_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OutdatedRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ArduinoCoreServiceServer).Outdated(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cc.arduino.cli.commands.v1.ArduinoCoreService/Outdated", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).Outdated(ctx, req.(*OutdatedRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ArduinoCoreService_Upgrade_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(UpgradeRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ArduinoCoreServiceServer).Upgrade(m, &arduinoCoreServiceUpgradeServer{stream}) -} - -type ArduinoCoreService_UpgradeServer interface { - Send(*UpgradeResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceUpgradeServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUpgradeServer) Send(m *UpgradeResponse) error { - return x.ServerStream.SendMsg(m) -} - func _ArduinoCoreService_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(VersionRequest) if err := dec(in); err != nil { @@ -2119,10 +1965,6 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "Destroy", Handler: _ArduinoCoreService_Destroy_Handler, }, - { - MethodName: "Outdated", - Handler: _ArduinoCoreService_Outdated_Handler, - }, { MethodName: "Version", Handler: _ArduinoCoreService_Version_Handler, @@ -2204,16 +2046,6 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ Handler: _ArduinoCoreService_UpdateLibrariesIndex_Handler, ServerStreams: true, }, - { - StreamName: "UpdateCoreLibrariesIndex", - Handler: _ArduinoCoreService_UpdateCoreLibrariesIndex_Handler, - ServerStreams: true, - }, - { - StreamName: "Upgrade", - Handler: _ArduinoCoreService_Upgrade_Handler, - ServerStreams: true, - }, { StreamName: "BoardAttach", Handler: _ArduinoCoreService_BoardAttach_Handler, diff --git a/test/test_lib.py b/test/test_lib.py index bdbaef9eb4d..747572a2ad9 100644 --- a/test/test_lib.py +++ b/test/test_lib.py @@ -560,7 +560,7 @@ def test_lib_list_with_updatable_flag(run_command): result = run_command(["lib", "list", "--updatable"]) assert result.ok assert "" == result.stderr - assert "No updates available." in result.stdout.strip() + assert "No libraries update is available." in result.stdout.strip() # No library to update in json result = run_command(["lib", "list", "--updatable", "--format", "json"]) assert result.ok From c9663a3c03341c4070af03d8fcaad9ac7946323d Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 24 Oct 2022 04:39:06 -0700 Subject: [PATCH 14/68] [skip changelog] Migrate workflows from deprecated `set-output` commands (#1940) GitHub Actions provides the capability for workflow authors to use the capabilities of the GitHub Actions ToolKit package directly in the `run` keys of workflows via "workflow commands". One such command is `set-output`, which allows data to be passed out of a workflow step as an output. It has been determined that this command has potential to be a security risk in some applications. For this reason, GitHub has deprecated the command and a warning of this is shown in the workflow run summary page of any workflow using it: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ The identical capability is now provided in a safer form via the GitHub Actions "environment files" system. Migrating the use of the deprecated workflow commands to use the `GITHUB_OUTPUT` environment file instead fixes any potential vulnerabilities in the workflows, resolves the warnings, and avoids the eventual complete breakage of the workflows that would result from GitHub's planned removal of the `set-output` workflow command 2023-05-31. --- .github/workflows/check-certificates.yml | 2 +- .github/workflows/check-go-dependencies-task.yml | 2 +- .github/workflows/check-go-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 2 +- .github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml | 4 ++-- .github/workflows/publish-go-nightly-task.yml | 2 +- .github/workflows/publish-go-tester-task.yml | 4 ++-- .github/workflows/release-go-task.yml | 4 ++-- .github/workflows/sync-labels.yml | 2 +- .github/workflows/test-go-integration-task.yml | 4 ++-- .github/workflows/test-go-task.yml | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/check-certificates.yml b/.github/workflows/check-certificates.yml index 14739bc12c0..85bc015c632 100644 --- a/.github/workflows/check-certificates.yml +++ b/.github/workflows/check-certificates.yml @@ -108,7 +108,7 @@ jobs: echo "Certificate expiration date: $EXPIRATION_DATE" echo "Days remaining before expiration: $DAYS_BEFORE_EXPIRATION" - echo "::set-output name=days::$DAYS_BEFORE_EXPIRATION" + echo "days=$DAYS_BEFORE_EXPIRATION" >> $GITHUB_OUTPUT - name: Check if expiration notification period has been reached id: check-expiration diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index 502bc4141b6..322f6a76548 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -56,7 +56,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT check-cache: needs: run-determination diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index cbe4223f1a7..6b09e1905ee 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -47,7 +47,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT check-errors: name: check-errors (${{ matrix.module.path }}) diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index f155056bf47..7221d01ed84 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -42,7 +42,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT build: needs: run-determination diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index 33a8f5d520f..0379bd9fe2f 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -45,7 +45,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT publish: runs-on: ubuntu-latest @@ -93,7 +93,7 @@ jobs: - name: Determine versioning parameters id: determine-versioning - run: echo "::set-output name=data::$(poetry run python docs/siteversion/siteversion.py)" + run: echo "data=$(poetry run python docs/siteversion/siteversion.py)" >> $GITHUB_OUTPUT - name: Publish documentation if: fromJson(steps.determine-versioning.outputs.data).version != null diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 821673c8ce0..fdc72cf9be3 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -56,7 +56,7 @@ jobs: id: get-version env: NIGHTLY: true - run: echo "::set-output name=version::$(task general:get-version)" + run: echo "version=$(task general:get-version)" >> $GITHUB_OUTPUT - name: Upload artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index b730416c4c8..b3e5d11b0f5 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -51,7 +51,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT package-name-prefix: needs: run-determination @@ -69,7 +69,7 @@ jobs: fi PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-" - echo "::set-output name=prefix::$PACKAGE_NAME_PREFIX" + echo "prefix=$PACKAGE_NAME_PREFIX" >> $GITHUB_OUTPUT build: needs: package-name-prefix diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 5d026f422bb..d22dd45cf77 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -61,7 +61,7 @@ jobs: - name: Output Version id: get-version - run: echo "::set-output name=version::$(task general:get-version)" + run: echo "version=$(task general:get-version)" >> $GITHUB_OUTPUT - name: Upload artifacts uses: actions/upload-artifact@v3 @@ -254,7 +254,7 @@ jobs: run: | wget -q -P /tmp https://github.com/fsaintjacques/semver-tool/archive/3.0.0.zip unzip -p /tmp/3.0.0.zip semver-tool-3.0.0/src/semver >/tmp/semver && chmod +x /tmp/semver - if [[ "$(/tmp/semver get prerel ${{ needs.create-release-artifacts.outputs.version }} )" ]]; then echo "::set-output name=IS_PRE::true"; fi + if [[ "$(/tmp/semver get prerel ${{ needs.create-release-artifacts.outputs.version }} )" ]]; then echo "IS_PRE=true" >> $GITHUB_OUTPUT; fi - name: Create Github Release and upload artifacts uses: ncipollo/release-action@v1 diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 4376e4c4930..9b946a74c2a 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -103,7 +103,7 @@ jobs: run: | # Use of this flag in the github-label-sync command will cause it to only check the validity of the # configuration. - echo "::set-output name=flag::--dry-run" + echo "flag=--dry-run" >> $GITHUB_OUTPUT - name: Checkout repository uses: actions/checkout@v3 diff --git a/.github/workflows/test-go-integration-task.yml b/.github/workflows/test-go-integration-task.yml index aea78ced81c..d8450c08599 100644 --- a/.github/workflows/test-go-integration-task.yml +++ b/.github/workflows/test-go-integration-task.yml @@ -55,7 +55,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT tests-collector: runs-on: ubuntu-latest @@ -70,7 +70,7 @@ jobs: - name: Collect tests id: collection run: | - echo "::set-output name=tests-data::$(python .github/tools/get_integration_tests.py ./test/)" + echo "tests-data=$(python .github/tools/get_integration_tests.py ./test/)" >> $GITHUB_OUTPUT test: needs: tests-collector diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 836940ef262..f841f9d376c 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -56,7 +56,7 @@ jobs: RESULT="false" fi - echo "::set-output name=result::$RESULT" + echo "result=$RESULT" >> $GITHUB_OUTPUT test: needs: run-determination From fae07e4e9ba4053dca2d8939bd7c0471c41d70e3 Mon Sep 17 00:00:00 2001 From: RangerCD Date: Mon, 24 Oct 2022 20:02:13 +0800 Subject: [PATCH 15/68] Copy package to destination if move failed (should fix sporadic `Access is denied` errors on Windows) (#1938) --- arduino/resources/install.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arduino/resources/install.go b/arduino/resources/install.go index 165020250b3..188a8d2f1f5 100644 --- a/arduino/resources/install.go +++ b/arduino/resources/install.go @@ -91,7 +91,10 @@ func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.P // Move/rename the extracted root directory in the destination directory if err := root.Rename(destDir); err != nil { - return fmt.Errorf(tr("moving extracted archive to destination dir: %s", err)) + // Copy the extracted root directory to the destination directory, if move failed + if err := root.CopyDirTo(destDir); err != nil { + return fmt.Errorf(tr("moving extracted archive to destination dir: %s", err)) + } } // TODO From f8317964aa8f64ee2b1082c6030751c7624c4ec1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 05:22:33 -0700 Subject: [PATCH 16/68] [skip changelog] Bump xt0rted/markdownlint-problem-matcher from 1 to 2 (#1941) Bumps [xt0rted/markdownlint-problem-matcher](https://github.com/xt0rted/markdownlint-problem-matcher) from 1 to 2. - [Release notes](https://github.com/xt0rted/markdownlint-problem-matcher/releases) - [Changelog](https://github.com/xt0rted/markdownlint-problem-matcher/blob/main/CHANGELOG.md) - [Commits](https://github.com/xt0rted/markdownlint-problem-matcher/compare/v1...v2) --- updated-dependencies: - dependency-name: xt0rted/markdownlint-problem-matcher dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-markdown-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 7acff8e2ab7..c563733e16e 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -46,7 +46,7 @@ jobs: uses: actions/checkout@v3 - name: Initialize markdownlint-cli problem matcher - uses: xt0rted/markdownlint-problem-matcher@v1 + uses: xt0rted/markdownlint-problem-matcher@v2 - name: Install Task uses: arduino/setup-task@v1 From f23975438ca8ad6463fadf61e181c0bc03a20ae1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 05:23:34 -0700 Subject: [PATCH 17/68] [skip changelog] Bump carlosperate/download-file-action from 1 to 2 (#1942) Bumps [carlosperate/download-file-action](https://github.com/carlosperate/download-file-action) from 1 to 2. - [Release notes](https://github.com/carlosperate/download-file-action/releases) - [Commits](https://github.com/carlosperate/download-file-action/compare/v1...v2) --- updated-dependencies: - dependency-name: carlosperate/download-file-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/sync-labels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 9b946a74c2a..6f9c91a9152 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -31,7 +31,7 @@ jobs: - name: Download JSON schema for labels configuration file id: download-schema - uses: carlosperate/download-file-action@v1 + uses: carlosperate/download-file-action@v2 with: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json location: ${{ runner.temp }}/label-configuration-schema @@ -66,7 +66,7 @@ jobs: steps: - name: Download - uses: carlosperate/download-file-action@v1 + uses: carlosperate/download-file-action@v2 with: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} From 13f22553fbddeb1f419c351baf30e209e6da3248 Mon Sep 17 00:00:00 2001 From: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> Date: Tue, 25 Oct 2022 13:09:20 +0200 Subject: [PATCH 18/68] Add task to collect proto files and add steps to release them with tester, nightly and stable builds (#1931) * Add task to zip all .proto files for release * Add proto files in nightly released files * Add proto files in tester released files * Add proto files in stable released files * Fix tester build workflow * Fix checksums.txt creation in tester and stable build releases * Change build job of tester build workflow to be generic * Fix Publish Tester Build job dependencies --- .github/workflows/publish-go-nightly-task.yml | 9 +++++ .github/workflows/publish-go-tester-task.yml | 35 ++++++++++--------- .github/workflows/release-go-task.yml | 9 +++++ Taskfile.yml | 7 ++++ 4 files changed, 44 insertions(+), 16 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index fdc72cf9be3..52ccdce2ba5 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -236,6 +236,15 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }} + - name: Install Task + uses: arduino/setup-task@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + version: 3.x + + - name: Collect proto files + run: task protoc:collect + - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index b3e5d11b0f5..7635da8ba55 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -71,41 +71,44 @@ jobs: echo "prefix=$PACKAGE_NAME_PREFIX" >> $GITHUB_OUTPUT - build: + create-artifacts: needs: package-name-prefix - name: Build ${{ matrix.os.name }} + name: Create artifact ${{ matrix.artifact.name }} runs-on: ubuntu-latest strategy: matrix: - os: - - task: Windows_32bit + artifact: + - task: dist:Windows_32bit path: "*Windows_32bit.zip" name: Windows_X86-32 - - task: Windows_64bit + - task: dist:Windows_64bit path: "*Windows_64bit.zip" name: Windows_X86-64 - - task: Linux_32bit + - task: dist:Linux_32bit path: "*Linux_32bit.tar.gz" name: Linux_X86-32 - - task: Linux_64bit + - task: dist:Linux_64bit path: "*Linux_64bit.tar.gz" name: Linux_X86-64 - - task: Linux_ARMv6 + - task: dist:Linux_ARMv6 path: "*Linux_ARMv6.tar.gz" name: Linux_ARMv6 - - task: Linux_ARMv7 + - task: dist:Linux_ARMv7 path: "*Linux_ARMv7.tar.gz" name: Linux_ARMv7 - - task: Linux_ARM64 + - task: dist:Linux_ARM64 path: "*Linux_ARM64.tar.gz" name: Linux_ARM64 - - task: macOS_64bit + - task: dist:macOS_64bit path: "*macOS_64bit.tar.gz" name: macOS_64 - - task: macOS_ARM64 + - task: dist:macOS_ARM64 path: "*macOS_ARM64.tar.gz" name: macOS_ARM64 + - task: protoc:collect + path: "*_proto.zip" + name: rpc-protocol-files steps: - name: Checkout repository @@ -123,18 +126,18 @@ jobs: run: | PACKAGE_NAME_PREFIX=${{ needs.package-name-prefix.outputs.prefix }} export PACKAGE_NAME_PREFIX - task dist:${{ matrix.os.task }} + task ${{ matrix.artifact.task }} # Transfer builds to artifacts job - name: Upload build artifact uses: actions/upload-artifact@v3 with: - path: ${{ env.DIST_DIR }}/${{ matrix.os.path }} - name: ${{ matrix.os.name }} + path: ${{ env.DIST_DIR }}/${{ matrix.artifact.path }} + name: ${{ matrix.artifact.name }} checksums: needs: - - build + - create-artifacts - package-name-prefix runs-on: ubuntu-latest diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index d22dd45cf77..1924c110d67 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -241,6 +241,15 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: ${{ env.DIST_DIR }} + - name: Install Task + uses: arduino/setup-task@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + version: 3.x + + - name: Collect proto files + run: task protoc:collect + - name: Create checksum file working-directory: ${{ env.DIST_DIR}} run: | diff --git a/Taskfile.yml b/Taskfile.yml index 23a2b6561aa..86ca98cd289 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -215,6 +215,13 @@ tasks: cmds: - buf lint rpc + protoc:collect: + desc: Create a zip file containing all .proto files in DIST_DIR + dir: rpc + cmds: + - mkdir ../{{.DIST_DIR}} + - zip -r ../{{.DIST_DIR}}/{{.PROJECT_NAME}}_{{.VERSION}}_proto.zip * -i \*.proto + protoc:format: desc: Perform formatting of the protobuf definitions cmds: From b75982044e188ace70375451a36e25357526299c Mon Sep 17 00:00:00 2001 From: Gaia Castronovo <53472903+g-castronovo@users.noreply.github.com> Date: Fri, 28 Oct 2022 07:00:55 +0200 Subject: [PATCH 19/68] [skip changelog] Use correct plurality for word in error message (#1954) The `lib search` command accepts search keywords as an argument. All libraries with metadata within the search scope matching those keywords will be returned. Previously, the error message used the singular form "library". Since the command is as likely to be used to search for libraries, using the plural form "libraries" is more appropriate. Users opened a task inside Transifex requesting this change. Co-authored-by: per1234 --- cli/lib/search.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/lib/search.go b/cli/lib/search.go index 0248a98ec7b..7a3885f5c31 100644 --- a/cli/lib/search.go +++ b/cli/lib/search.go @@ -76,7 +76,7 @@ func runSearchCommand(cmd *cobra.Command, args []string) { Query: (strings.Join(args, " ")), }) if err != nil { - feedback.Errorf(tr("Error searching for Library: %v"), err) + feedback.Errorf(tr("Error searching for Libraries: %v"), err) os.Exit(errorcodes.ErrGeneric) } From 5a4ffe0d5146268f2bb1e650dd8ac34c57474ac2 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 28 Oct 2022 09:59:34 +0200 Subject: [PATCH 20/68] Allow `locale` key to be used in `config ...` commands. (#1952) * Allow 'locale'key to be used in 'config ...' commands * Fix documentation * Update docs/configuration.md Co-authored-by: per1234 * Update docs/configuration.md Co-authored-by: per1234 Co-authored-by: per1234 --- cli/config/validate.go | 1 + docs/configuration.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/cli/config/validate.go b/cli/config/validate.go index 6d04b4bada4..1ac6c538e1f 100644 --- a/cli/config/validate.go +++ b/cli/config/validate.go @@ -33,6 +33,7 @@ var validMap = map[string]reflect.Kind{ "directories.builtin.tools": reflect.String, "directories.builtin.libraries": reflect.String, "library.enable_unsafe_install": reflect.Bool, + "locale": reflect.String, "logging.file": reflect.String, "logging.format": reflect.String, "logging.level": reflect.String, diff --git a/docs/configuration.md b/docs/configuration.md index ec1c035218f..16cacfcc5a6 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -18,6 +18,8 @@ - `enable_unsafe_install` - set to `true` to enable the use of the `--git-url` and `--zip-file` flags with [`arduino-cli lib install`][arduino cli lib install]. These are considered "unsafe" installation methods because they allow installing files that have not passed through the Library Manager submission process. +- `locale` - the language used by Arduino CLI to communicate to the user, the parameter is the language identifier in + the standard POSIX format `[_[.]]` (for example `it` or `it_IT`, or `it_IT.UTF-8`). - `logging` - configuration options for Arduino CLI's logs. - `file` - path to the file where logs will be written. - `format` - output format for the logs. Allowed values are `text` or `json`. From 4dcf0da6c6361c14c8d3ddc8f64711a10e9f16a0 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 31 Oct 2022 02:27:56 -0700 Subject: [PATCH 21/68] [skip changelog] Document filter setting capability of Library/Boards Manager links (#1958) Arduino IDE allows opening searches in Library Manager and Boards Manager by clicking a link with a special format in a comment of the sketch. During the initial implementation in Arduino IDE 1.x, support for setting the "Type" filter via the URI in addition to specifying search keywords was attempted and claimed to work, but never did work. For this reason, it was not previously mentioned in the sketch specification. During the reimplementation of the Library/Boards Manager link feature for Arduino IDE 2.x, the "Type" filter setting capability was finally truly implemented, and expanded to also support setting the "Topic" filter in Library Manager via the same mechanism. Now that support for the filter setting capability has been released in Arduino IDE 2.0.1, it should be documented in the sketch specification. --- docs/sketch-specification.md | 48 ++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/docs/sketch-specification.md b/docs/sketch-specification.md index b65a3163cfc..5c7266eaf09 100644 --- a/docs/sketch-specification.md +++ b/docs/sketch-specification.md @@ -140,28 +140,60 @@ no requirement to store sketches in the sketchbook folder. ## Library/Boards Manager links -A URI in a comment in the form `http://librarymanager#SEARCH_TERM` will open a search for SEARCH_TERM in +**(available in Arduino IDE >=1.6.9 <2.x || >=2.0.1)** + +A URI in a comment in the form: + +```text +http://librarymanager[/TYPE_FILTER[/TOPIC_FILTER]][#SEARCH_KEYWORDS] +``` + +will open a search in [Library Manager](https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries#using-the-library-manager) when clicked in the Arduino IDE. -A URI in a comment in the form `http://boardsmanager#SEARCH_TERM` will open a search for SEARCH_TERM in -[Boards Manager](https://docs.arduino.cc/learn/starting-guide/cores) when clicked in the Arduino IDE. +A URI in a comment in the form: + +```text +http://boardsmanager[/TYPE_FILTER][#SEARCH_KEYWORDS] +``` + +will open a search in [Boards Manager](https://docs.arduino.cc/learn/starting-guide/cores) when clicked in the Arduino +IDE. + +These links can be used to offer the user an easy way to install dependencies of the sketch. -This can be used to offer the user an easy way to install dependencies of the sketch. +The search field will be populated with the `SEARCH_KEYWORDS` fragment component of the URI. Any characters other than +`A`-`Z`, `a`-`z`, `0`-`9`, and `:` are treated as spaces by the search algorithm, which allows multiple keywords to be +specified via the URI. + +--- + +**(available in Arduino IDE >=2.0.1)** + +The "**Type**" filter will be set to the optional `TYPE_FILTER` path component of the URI. + +The Library Manager "**Topic**" filter will be set to the optional `TOPIC_FILTER` path component of the URI. + +Unlike the `SEARCH_KEYWORDS` fragment, spaces and reserved characters in these components must be +[percent-encoded](https://en.wikipedia.org/wiki/Percent-encoding) (e.g., `Signal%20Input%2FOutput`). + +Although the filter setting is not supported by previous IDE versions, URIs containing these path components still +function in all other respects. + +--- This feature is only available when using the Arduino IDE, so be sure to provide supplementary documentation to help the users of other development software install the sketch dependencies. -This feature was added in Arduino IDE 1.6.9. - ### Example ```c++ // install the Arduino SAMD Boards platform to add support for your MKR WiFi 1010 board -// if using the Arduino IDE, click here: http://boardsmanager#SAMD +// if using the Arduino IDE, click here: http://boardsmanager/Arduino#SAMD // install the WiFiNINA library via Library Manager -// if using the Arduino IDE, click here: http://librarymanager#WiFiNINA +// if using the Arduino IDE, click here: http://librarymanager/Arduino/Communication#WiFiNINA #include ``` From da4e63ac4f2adae5f67adabb4fe38a9507adb4d4 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Mon, 10 Oct 2022 10:13:03 +0200 Subject: [PATCH 22/68] Migrate TestSketchNew from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 63 +++++++++++++++++++ test/test_sketch.py | 36 ----------- 2 files changed, 63 insertions(+), 36 deletions(-) create mode 100644 internal/integrationtest/sketch/sketch_test.go diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go new file mode 100644 index 00000000000..88649d8443f --- /dev/null +++ b/internal/integrationtest/sketch/sketch_test.go @@ -0,0 +1,63 @@ +// This file is part of arduino-cli. +// +// Copyright 2022 ARDUINO SA (http://www.arduino.cc/) +// +// This software is released under the GNU General Public License version 3, +// which covers the main part of arduino-cli. +// The terms of this license can be found at: +// https://www.gnu.org/licenses/gpl-3.0.en.html +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package sketch_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestSketchNew(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Create a test sketch in current directory + currentPath := cli.WorkingDir() + sketchName := "SketchNewIntegrationTest" + currentSketchPath := currentPath.Join(sketchName) + stdout, _, err := cli.Run("sketch", "new", sketchName) + require.NoError(t, err) + require.Contains(t, string(stdout), "Sketch created in: "+currentSketchPath.String()) + require.FileExists(t, currentSketchPath.Join(sketchName).String()+".ino") + + // Create a test sketch in current directory but using an absolute path + sketchName = "SketchNewIntegrationTestAbsolute" + currentSketchPath = currentPath.Join(sketchName) + stdout, _, err = cli.Run("sketch", "new", currentSketchPath.String()) + require.NoError(t, err) + require.Contains(t, string(stdout), "Sketch created in: "+currentSketchPath.String()) + require.FileExists(t, currentSketchPath.Join(sketchName).String()+".ino") + + // Create a test sketch in current directory subpath but using an absolute path + sketchName = "SketchNewIntegrationTestSubpath" + sketchSubpath := paths.New("subpath", sketchName) + currentSketchPath = currentPath.JoinPath(sketchSubpath) + stdout, _, err = cli.Run("sketch", "new", sketchSubpath.String()) + require.NoError(t, err) + require.Contains(t, string(stdout), "Sketch created in: "+currentSketchPath.String()) + require.FileExists(t, currentSketchPath.Join(sketchName).String()+".ino") + + // Create a test sketch in current directory using .ino extension + sketchName = "SketchNewIntegrationTestDotIno" + currentSketchPath = currentPath.Join(sketchName) + stdout, _, err = cli.Run("sketch", "new", sketchName+".ino") + require.NoError(t, err) + require.Contains(t, string(stdout), "Sketch created in: "+currentSketchPath.String()) + require.FileExists(t, currentSketchPath.Join(sketchName).String()+".ino") +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 81de0563db8..7edf4698e9a 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -16,42 +16,6 @@ from pathlib import Path -def test_sketch_new(run_command, working_dir): - # Create a test sketch in current directory - current_path = working_dir - sketch_name = "SketchNewIntegrationTest" - current_sketch_path = Path(current_path, sketch_name) - result = run_command(["sketch", "new", sketch_name]) - assert result.ok - assert f"Sketch created in: {current_sketch_path}" in result.stdout - assert Path(current_sketch_path, f"{sketch_name}.ino").is_file() - - # Create a test sketch in current directory but using an absolute path - sketch_name = "SketchNewIntegrationTestAbsolute" - current_sketch_path = Path(current_path, sketch_name) - result = run_command(["sketch", "new", current_sketch_path]) - assert result.ok - assert f"Sketch created in: {current_sketch_path}" in result.stdout - assert Path(current_sketch_path, f"{sketch_name}.ino").is_file() - - # Create a test sketch in current directory subpath but using an absolute path - sketch_name = "SketchNewIntegrationTestSubpath" - sketch_subpath = Path("subpath", sketch_name) - current_sketch_path = Path(current_path, sketch_subpath) - result = run_command(["sketch", "new", sketch_subpath]) - assert result.ok - assert f"Sketch created in: {current_sketch_path}" in result.stdout - assert Path(current_sketch_path, f"{sketch_name}.ino").is_file() - - # Create a test sketch in current directory using .ino extension - sketch_name = "SketchNewIntegrationTestDotIno" - current_sketch_path = Path(current_path, sketch_name) - result = run_command(["sketch", "new", f"{sketch_name}.ino"]) - assert result.ok - assert f"Sketch created in: {current_sketch_path}" in result.stdout - assert Path(current_sketch_path, f"{sketch_name}.ino").is_file() - - def verify_zip_contains_sketch_excluding_build_dir(files): assert "sketch_simple/doc.txt" in files assert "sketch_simple/header.h" in files From 163ce505982af75d79ce0572ad53524e2c242aae Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Mon, 10 Oct 2022 12:41:22 +0200 Subject: [PATCH 23/68] Migrate TestSketchArchiveNoArgs from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 30 + .../sketch_simple.ino.hex | 679 ++++ .../sketch_simple.ino.map | 3389 +++++++++++++++++ .../arduino.avr.uno/sketch_simple.ino.eep | 1 + .../arduino.avr.uno/sketch_simple.ino.hex | 29 + .../sketch_simple.ino.with_bootloader.hex | 63 + .../testdata/sketch_simple/doc.txt | 0 .../testdata/sketch_simple/header.h | 1 + .../testdata/sketch_simple/merged_sketch.txt | 15 + .../testdata/sketch_simple/old.pde | 0 .../testdata/sketch_simple/other.ino | 3 + .../testdata/sketch_simple/s_file.S | 0 .../testdata/sketch_simple/sketch_simple.ino | 7 + .../testdata/sketch_simple/src/helper.h | 0 test/test_sketch.py | 13 - 15 files changed, 4217 insertions(+), 13 deletions(-) create mode 100644 internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex create mode 100644 internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map create mode 100644 internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep create mode 100644 internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex create mode 100644 internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex create mode 100644 internal/integrationtest/testdata/sketch_simple/doc.txt create mode 100644 internal/integrationtest/testdata/sketch_simple/header.h create mode 100644 internal/integrationtest/testdata/sketch_simple/merged_sketch.txt create mode 100644 internal/integrationtest/testdata/sketch_simple/old.pde create mode 100644 internal/integrationtest/testdata/sketch_simple/other.ino create mode 100644 internal/integrationtest/testdata/sketch_simple/s_file.S create mode 100644 internal/integrationtest/testdata/sketch_simple/sketch_simple.ino create mode 100644 internal/integrationtest/testdata/sketch_simple/src/helper.h diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 88649d8443f..c8e5eb674ff 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -16,6 +16,7 @@ package sketch_test import ( + "archive/zip" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" @@ -61,3 +62,32 @@ func TestSketchNew(t *testing.T) { require.Contains(t, string(stdout), "Sketch created in: "+currentSketchPath.String()) require.FileExists(t, currentSketchPath.Join(sketchName).String()+".ino") } + +func verifyZipContainsSketchExcludingBuildDir(t *testing.T, files []*zip.File) { + require.Len(t, files, 8) + require.Equal(t, paths.New("sketch_simple", "doc.txt").String(), files[0].Name) + require.Equal(t, paths.New("sketch_simple", "header.h").String(), files[1].Name) + require.Equal(t, paths.New("sketch_simple", "merged_sketch.txt").String(), files[2].Name) + require.Equal(t, paths.New("sketch_simple", "old.pde").String(), files[3].Name) + require.Equal(t, paths.New("sketch_simple", "other.ino").String(), files[4].Name) + require.Equal(t, paths.New("sketch_simple", "s_file.S").String(), files[5].Name) + require.Equal(t, paths.New("sketch_simple", "sketch_simple.ino").String(), files[6].Name) + require.Equal(t, paths.New("sketch_simple", "src", "helper.h").String(), files[7].Name) +} + +func TestSketchArchiveNoArgs(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + + _, _, err := cli.Run("sketch", "archive") + require.NoError(t, err) + + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex b/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex new file mode 100644 index 00000000000..46424470ca5 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex @@ -0,0 +1,679 @@ +:1020000000800020CD210000B5210000B521000096 +:1020100000000000000000000000000000000000C0 +:10202000000000000000000000000000B5210000DA +:102030000000000000000000B52100002122000087 +:10204000B5210000B5210000B5210000B521000038 +:10205000B5210000B5210000B5210000B921000024 +:10206000B521000001210000B5210000B5210000CC +:10207000B5210000B521000011210000B5210000AC +:10208000B5210000B5210000B5210000B5210000F8 +:1020900000000000B5210000B5210000B5210000BE +:1020A000B5210000B5210000B5210000B5210000D8 +:1020B0000000000010B5064C2378002B07D1054B1B +:1020C000002B02D0044800E000BF0123237010BDA4 +:1020D000000100200000000044490000044B10B53E +:1020E000002B03D00349044800E000BF10BDC046E8 +:1020F00000000000040100204449000070477047C0 +:1021000010B5024800F0C3FD10BDC0461C01002000 +:1021100010B5024800F0BBFD10BDC04658030020BA +:10212000F7B501240326154F1549380000F040FB90 +:102130001449154800F03CFB1449154800F038FBE1 +:102140001449154800F034FB1449154800F030FBE1 +:10215000144D1549280000F02BFB39002300009690 +:1021600000220194114800F029FD290000961E2349 +:102170001F2201940E4800F021FDF7BD94050020B8 +:1021800000080042000C00429805002000100042A8 +:102190009C05002000140042A00500200018004209 +:1021A000A4050020A8050020001C00421C010020FE +:1021B00058030020FEE70000034B10B51B68002BFE +:1021C00000D0984710BDC046AC0500200F4A10480B +:1021D000110010B50F4B824202D0934209D1130077 +:1021E000824209D100F07EF800F03AFEFEE710CB03 +:1021F00010C18142FBD3F3E7074A8B42F2D00021A2 +:10220000064B9A42EED202C2FBE7C0460000002015 +:10221000000100204849000000010020B40B00200C +:1022200010B500F05CF8002801D100F04DF810BDA9 +:10223000014B18607047C046AC050020F7B5134845 +:10224000012284461249134C8E68636805689B0E10 +:102250001340019288686268019F920E3A40674677 +:102260003F6893420ED1BD420CD186420AD35B191E +:10227000FA254868AD00861B07486B437043000D84 +:10228000C018FEBD3D0013000600E3E7B0050020C6 +:1022900010E000E000ED00E05555000070B5041EB0 +:1022A00011D0FFF7CBFFFA260500B60000F016F8B4 +:1022B000FFF7C4FF401BB042F8D3FA23013C9B0058 +:1022C000ED18002CF4D170BD10B5034A136801332A +:1022D000136000F033FA10BDB005002070470020F5 +:1022E000704700001E2270B5464847494368934333 +:1022F0001C3A1343436008238C6923438B61434C8E +:10230000434B9C829C8A14439C82DC681442FCD020 +:102310000124404A14701578254203D055786DB2D7 +:10232000002DF8DB01249460547864B2002CFBDBB0 +:10233000394C5460547864B2002CFBDB8224E401F5 +:102340005480547864B2002CFBDB02249C840E344D +:10235000DD682542FCD0314CDC621024DD6825426A +:10236000FCD09D8C2E4C2C439C841024DD6825428F +:10237000FCD002249D8C80262C439C844024DD6864 +:102380003542FCD0DD682542F9D01024DD682542B5 +:10239000FCD000249460547864B2002CFBDB214C08 +:1023A0005460547864B2002CFBDB1C6A1E4D2C4038 +:1023B00080251C621C6AAC431C62032393601B4B88 +:1023C000536053785BB2002BFBDB0023FF240B72BE +:1023D000174A4B728B72CB72164B1A60164B174A08 +:1023E0001B6811689A065B01C90E2340520F120246 +:1023F0000B431343124A13858023426813434360FF +:1024000070BDC04600400041000400400C060000C2 +:1024100000080040000C004001050100B905FF7DE7 +:10242000040A000000070300FFFCFFFF0306010091 +:10243000006CDC020000002024608000206080002E +:1024400000400042FA212E4B10B51868890001F0B7 +:1024500021FE802301385B0498424FD229492A4A41 +:102460004860C020136A00061B021B0A0343136264 +:1024700000238B6007330B608021136A09061B025F +:102480001B0A0B431362FC22204B196A0A431A628F +:10249000FF22196A12020A431A62A022196AD202A2 +:1024A0000A431A621A4B1C005A7852B2002AFBDB0C +:1024B000184A5A80184B1A00597EC9090129FBD0C5 +:1024C000C821890099800521D970537EDB09012B31 +:1024D000FBD0C02300205B011361907000F022F854 +:1024E00063785BB2002BFBDB0C4B0D4A6380D37926 +:1024F000DB09012BFBD04123537010BDFEE7C04622 +:102500000000002010E000E000ED00E000040040CA +:10251000000C00401E40000000400042214000002E +:10252000004800421F4900B50B004A7ED209012A2B +:10253000FBD001380A282FD801F0A2FD1B2E2E2E29 +:102540002E2E062E2E2411001A6917490A400F213B +:102550001A615A788A43110001220A4310E01A696D +:1025600011490A400F211A615A788A431100032247 +:10257000F3E71A690C490A400F211A615A788A4315 +:102580005A7000BD1A6908490A400F211A615A7829 +:102590008A4311000222E0E7F022196912050A437A +:1025A000F3E7C04600400042FFFFFFF0182310B5DC +:1025B00008245843134A13181C57013412D001241D +:1025C0005B6882569C4003290CD808000E49D20152 +:1025D0005218D318403301F053FD0210060B0221AC +:1025E0001970546010BD0621197054609461F9E7A8 +:1025F0000621197054605461F4E702211970946047 +:10260000F0E7C0461C440000004400411823F0B528 +:1026100008245843114A13181C5701341BD00126B3 +:1026200035005F688356BD400D4ADB019A189068FB +:1026300005420BD10C00601E8441D2194032107843 +:1026400034400336A400B04320431070044A9B1862 +:10265000002901D15D61F0BD9D61FCE71C440000D3 +:1026600000440041182370B5082643432A4AD51870 +:10267000AE573400013607D0072907DC00291DDAE0 +:1026800001314C424C416442200070BD0B00083BBC +:10269000DBB20024032BF7D8092903D12100FFF76F +:1026A00085FFF1E70A2904D10839FFF77FFF0024ED +:1026B000EAE700240B29E7D10A39F0E76C68012525 +:1026C00020009B56C9B262082840DB012C4211D081 +:1026D00012480E351B189A1830321078090128401C +:1026E0000143C9B2117041221B19403319780A43C2 +:1026F0001A70DCE70F26094D5B199A1830321578ED +:102700001B19B54329431170412240331978040045 +:102710000A431A70B8E7C0461C4400000044004158 +:10272000014B18607047C046040000200122024B94 +:1027300052421A607047C04604000020164A10B585 +:102740001368591C27D0013B1360002B23D172B6AC +:102750008122124B92000433934213D3104A012179 +:102760001000147D0C42FCD02021148BFF319B08FB +:102770005B0021431183D3610A4B13800123027D47 +:102780001A42FCD0BFF34F8F074B084ADA60BFF301 +:102790004F8FC046FDE710BD040000200020000060 +:1027A0000040004102A5FFFF00ED00E00400FA0533 +:1027B000016070479446F0B505AC25789C1E621EFA +:1027C0009441624606689207376824063A432243DA +:1027D0000724326000682140AD010024426829438B +:1027E000022B00D05C030A4322434260F0BD30B5A7 +:1027F000C0250368AD031C6812052A402243C0248B +:102800000904A40221400A431A6003685A68144369 +:102810005C6030BD0123026811680B4313600368DC +:102820001A68D207FCD4DA69D207F9D470470223B8 +:10283000026811680B4313600268D3699B07FCD4DC +:10284000704703681A7ED20702D41A7E9207FCD51D +:102850007047002203685A8370470368187E400758 +:10286000C00F70470368187EC00970478023026854 +:102870005B42117E0B43137670470368588B8007C9 +:10288000C00F704702230268518B0B43538370477C +:102890000368187EC007C00F70470368188DC0B268 +:1028A000704703681A7ED207FCD589B201201985CA +:1028B0007047012203689A757047012203681A75F0 +:1028C000704700000368104A934213D00F4A9342A6 +:1028D00012D00F4A934211D00E4A934210D00E4AA2 +:1028E00093420FD001200D4A4042934201D106305D +:1028F00040B270470020FBE70120F9E70220F7E72C +:102900000320F5E70420F3E700080042000C004232 +:10291000001000420014004200180042001C004257 +:10292000F8B5FFF7CFFF00282CDB1D4BC0001818AF +:1029300005230479C3560320FF221840C0008240BB +:10294000C021D2438140002B1DDB1F2501201D40EB +:10295000C026A840134D7600A851C0269B089B00B6 +:102960005B19B6009F593A401143995128603F23A3 +:1029700023408024E4011C430B4B5C805A7852B204 +:10298000002AFBDBF8BD0F200340083B07489B08EB +:102990009B001B18D86902401143D961E7E7C04684 +:1029A0006C48000000E100E0000C004000ED00E099 +:1029B000F8B504000F0016001D00FFF7B1FF20005E +:1029C000FFF728FF1C21BB000B4071072268090C90 +:1029D0000B431360842322689375012F1AD11021B1 +:1029E000012E00D008390C4B69431868C00001F073 +:1029F00051FB0722216802408B895203DB04DB0C68 +:102A000013438B81226803049089DB0C400B400345 +:102A100018439081F8BDC046000000200120704797 +:102A200010B50368014A1B6A984710BD13040000E3 +:102A30000300FC33D9699A69914203D0DB69C0185D +:102A4000007D704701204042FBE710B5040000699B +:102A5000FFF7E0FE22000023FC329361D36186225F +:102A60009200A4186360A36010BDF0231B011940FD +:102A7000802306209B0099420AD00133FF330130A6 +:102A8000994205D0802300205B00994200D1053097 +:102A900070470F2001400020012903D00239481E51 +:102AA0008141481C704700008923F0B5182785B084 +:102AB00002919B000400C05C3B0008214343324E5E +:102AC0001500F3185956FFF7CDFD304B0821E05C97 +:102AD0003B004343F3185956FFF7C4FD2C4BE25C0F +:102AE0000393022A09D11133E05CFF2805D00821A5 +:102AF0004743F7197956FFF7B5FD8A27BF00E05D18 +:102B0000FF2819D00121FFF751FD1822E35D21496B +:102B10005A43B356B618DB0158188B218900605010 +:102B20001D4901225B188C218900635071688A401D +:102B30008D21890062501A600122029B11002069D8 +:102B4000FFF736FF29002000FFF78FFF290006005E +:102B50002000FFF79EFFF0221540303D6A425541AC +:102B600003003100206901220095FFF723FE0B4B83 +:102B70002069E25C039BE15CFFF739FE2069FFF707 +:102B800056FE05B0F0BDC0461C4400002502000002 +:102B900027020000184400411444004126020000AE +:102BA000802210B504000021520001F040FB2300F8 +:102BB0000022FC3320005A609A6010BDF7B51D005A +:102BC00008AB1B780400009309AB1B781600019337 +:102BD00000234360FA239B008360104B0F000833EF +:102BE00003601430FFF7DCFF20001D30FF30FFF7DB +:102BF000D7FF89239B002761E654094B009AE554CF +:102C0000084B2000E254019A074BE2548A22293BE8 +:102C1000FF3B9200A3541032A354FEBD9C48000019 +:102C20002502000026020000270200000300FC33FA +:102C300058689B68C01A01D50130FF30704710B545 +:102C4000040020001D30FF30FFF7F0FF0028F8D10E +:102C50002069FFF7F6FD10BD10B51430FFF7E6FF51 +:102C600010BD0300FC3359689A68914204DB5A682E +:102C70009868801AFF30704798685B68C01A0138FE +:102C8000F9E710B51D30FF30FFF7EBFF10BD10B5B1 +:102C900004000069FFF7F1FD002805D02069FFF767 +:102CA000FCFD2069FFF7EEFD2069FFF7D6FD002847 +:102CB00020D02069FFF7F1FD2200FC329369D16931 +:102CC0000133DBB28B4203D09169611808759361BF +:102CD0008A239B00E35CFF2B0CD020001430FFF70D +:102CE000C0FF092806DC8B238D229B009200E3584D +:102CF000A2581A602069FFF7CBFD00281AD02000E7 +:102D00001D30FF30FFF792FF002822D086239B0062 +:102D1000E31899685A68914218D08E219A68490040 +:102D2000A218515C9A680132D2B29A602069C9B285 +:102D3000FFF7B7FD2069FFF795FD002805D0206952 +:102D4000FFF794FD2069FFF784FD10BD0121494282 +:102D5000ECE72069FFF7B1FDECE7000070B5040077 +:102D600000690D00FFF794FD00283FD1FF26862360 +:102D70009B00E3185A689968013232408A4224D194 +:102D8000EFF31083DB070ED41E4B5B68DB05DA0D17 +:102D9000002BECD0103A53B212060DD49B081A4AFD +:102DA000C0339B009B582069FFF772FD0028DED0DE +:102DB0002000FFF76CFFDAE70F221340083B134AAD +:102DC0009B089B009B181B68EDE75A680132164070 +:102DD0009A68964205D08E215A684900A218555427 +:102DE0005E602069FFF765FD012070BD20001D3089 +:102DF000FF30FFF71BFF0028B8D129002069FFF73B +:102E000050FDF1E700ED00E000E100E01CED00E026 +:102E10000300FC33D9699A6970B5040091421AD055 +:102E2000DA698218157DDA690132D2B2DA618A2351 +:102E30009B00E35CFF2B0CD020001430FFF711FF48 +:102E40000A2806DD8C238D229B009200E358A258AD +:102E50001A60280070BD01256D42E8E77047000048 +:102E600010B5FFF7EFFA01F0A1F9FFF7F7FF012026 +:102E7000FFF714FA094C200000F052FA200000F08D +:102E8000C7FAFFF73BF9FFF73AF9FFF727FA044BC8 +:102E9000002BF8D000E000BFF5E7C046B4050020E5 +:102EA00000000000F8B505000E0017000024BC4229 +:102EB00008D02B682800315D1B689847002801D096 +:102EC0000134F4E72000F8BD704770B50F26CB1D24 +:102ED00002003240D5B22C0000093034092A00DD4E +:102EE00007341C705A1E994200D170BD1300EFE7E1 +:102EF00010B50400806901F087F9A06A01F084F937 +:102F0000200010BD10B50400FFF7F2FF200000F014 +:102F100077FF200010BD000070B5032908D1324BA7 +:102F20008000C058002802D00368DB68984770BD55 +:102F300082291FD1C3B22D4D5A01AA1891692C4C78 +:102F400080010C40C0218905214391612949083342 +:102F50004018802150612A685B01D01804794942E9 +:102F6000214301717020995C8143080030210143A5 +:102F70009954DCE70029DAD1C024C1B21B4E4A01C2 +:102F8000B21893681A4DA4052B40234393601A4B43 +:102F90008001C0180B0050603068072608335B01C1 +:102FA000195CB1430E0001213143195491690D4060 +:102FB0002C43946170240F495161195CA1430C00AA +:102FC00010212143195491680C4CC3180C408021E6 +:102FD0004903214391609168890B890391604022E4 +:102FE00059790A435A71A2E7B80500206C0A0020FB +:102FF000FFFFFF8FE0050020A0070020FF3F00F04B +:10300000EFF3108303600123436072B670470368D7 +:10301000002B02D162B6BFF36F8F704737B50569D9 +:1030200004006846002D14D1FFF7EAFF019B621DE2 +:10303000013B02D3D57FEDB2FAE768460193FFF773 +:10304000E6FF002D01D100203EBD206AE369C01AD1 +:10305000FAE7FFF7D5FF22000025019B3432013B40 +:1030600002D31578EDB2FAE768460193FFF7CFFF78 +:10307000002DE8D0206BE36AE9E70000F0B5FF25FA +:1030800001264268836811682B405B01CC186419E3 +:10309000A77AD3183E43A672C6689C680B4FB60445 +:1030A00036093C4034439C6083682B405B01D21856 +:1030B0009468A40BA4039460402283682B400833D7 +:1030C0005B01CB1819790A431A71F0BDFF3F00F07C +:1030D000F7B5056904000E0017006846002D43D1BE +:1030E000FFF78EFF019B601D013B5A1C0BD0C27F76 +:1030F000591E002A05D168460193FFF788FF280072 +:10310000FEBD0B00F1E768460193FFF780FFE3691E +:10311000AF420AD0226A9A4207D95A1CE261A269D8 +:10312000D3181B7873550135F1E7226A9A42E6D12C +:103130000023E361013368462361FFF761FF22004A +:103140000021019B671D013B3532581CD3D0F97714 +:1031500010785E1E002805D0200011700193FFF743 +:103160008DFFECE73300F0E7FFF74AFF2000019BFB +:103170003430013B5A1C06D00278591ED5B2002AC1 +:10318000B9D00B00F6E7684601930025FFF73FFF33 +:10319000E36ABD4202D0226B9A421CD8226B9A424B +:1031A000ADD100236846E3622361FFF729FF2700C2 +:1031B00022000021019B3437013B3532581C9AD044 +:1031C000397010785E1E00280DD020001170019318 +:1031D000FFF754FFEBE75A1CE262A26AD3181B7890 +:1031E00073550135D4E73300E8E7F7B582684368E3 +:1031F000D2B2110004000831186849014118C87999 +:10320000C00729D501255201CD719B189A686169C3 +:103210009204920C002923D12262226A002A41D012 +:10322000A26A656168465A60FFF7EAFE3422944656 +:103230002200019B671D013BA4443532591C2DD04F +:103240006146FD770978581ECEB2002905D001935A +:1032500068461570FFF7DBFEF7BD03001670EDE75B +:103260002263226B002A1DD0002227006261A2691E +:1032700068465A60FFF7C4FE019B621D9446013BFD +:1032800034373032591C09D061463D70C97F581E11 +:10329000CEB20029DBD103001670F3E76846019334 +:1032A000FFF7B5FE2000FFF7E9FED5E713B56A4644 +:1032B00000230C00D01DD37100F0F4FD2368181812 +:1032C000206000F083FE6B46D91D00F04BFE2368A2 +:1032D00018186B462060D87916BD000003290ED15E +:1032E00080220E4B62311B68FF31585C5242024310 +:1032F0005A5468226339FF32FF39995470470129C3 +:10330000FCD18022054B24311B68FF31585C5242AE +:1033100002435A5428222339FF32EDE76C0A002079 +:1033200070B500252F4B012104001A201D70FFF7F6 +:103330003DF901211A20FFF769F92B4B01211920D2 +:103340001D70FFF733F901211920FFF75FF92023E2 +:10335000264A0F20D1690B43D361012224490B78FF +:1033600013430B70234B19788143197006211D7884 +:103370002943197020490D782A430A701A780240AF +:103380001A70602219780A431A701C4B1C4A5A8022 +:103390005A78D209FCD11B48FEF74AFF1A4D280083 +:1033A00000F028FE280000F03BFE7F212B68C120A2 +:1033B0001A7880000A401A70042219780A430C21F6 +:1033C0001A701A898A4311491A810A581202120A7C +:1033D0000A5080220A6019787E3A0A431A70012343 +:1033E000237070BDD5050020D405002000040040E6 +:1033F000584400413C44004159440041000C004005 +:1034000006400000D93D00006C0A002000E100E009 +:103410000078002810D00121084B1B681A898A43C4 +:103420001A810822198B0A431A830422198B0A4332 +:103430001A830022024B1A607047C0466C0A0020B3 +:10344000640A00200A000E498B699B0B9B038B6169 +:103450000B680221FF3319729879823901439971FF +:10346000197A8907FCD57F20064B0240997A81435F +:10347000114380229972997A52420A439A72704794 +:103480006C0A00200050004110B50B790C00002B95 +:103490000CD1080000F014FD002801D0012010BD5F +:1034A000094A93699B0B9B039361F7E700F08EFD3C +:1034B000210000F07BFD0028F0D1034A93699B0BAB +:1034C0009B039361EBE7C0466C0A0020F7B50D0043 +:1034D0001100832A19D1EBB2324C5A01A21891691A +:1034E0003148AD010840C0218905014391612F4950 +:1034F00020686D187021083355615B011A5C8A439E +:10350000110040220A431A54F7BD022A45D1284A25 +:10351000AB009858002802D003685B6998473820B0 +:1035200000F06AFC234B8027036000231D4E7F00C0 +:10353000421D036203614361C36146608560C760E9 +:10354000D3772F32C36203630400137038005370C3 +:1035500000F050FE0190A061380000F04BFEEBB28D +:103560005A01A062B21891680F4808330840C02180 +:10357000890501439160316807265B01585CAD0005 +:10358000B0430600032030435854019B2000536091 +:10359000FFF774FD064B5C51B6E72800FFF7BCFC53 +:1035A000B2E7C0466C0A0020FFFFFF8FE005002055 +:1035B000B8050020DC48000070B505000124064B6A +:1035C000A200D258002A05D021002800FFF77EFF74 +:1035D0000134F4E770BDC04608000020084B8A00A3 +:1035E000D05810B5002803D003689B68984710BDD9 +:1035F000044BC9B24901591888688004800CF6E769 +:10360000B80500206C0A002010B50C00FFF7E6FF9B +:1036100000280CD0064BE4B21968802308346401FA +:103620000C1962795B42134363710223E37110BD8D +:103630006C0A002070B5CBB2124A13485C018901B4 +:103640008918021951609168104D08330D4080218E +:1036500089022943402591609168890B8903916013 +:1036600001685A018A1816793543157195796D06E6 +:10367000FCD55B01C918CB79DB07FCD50019806844 +:10368000C0B270BDA00700206C0A0020FF3F00F010 +:1036900070B5140040220B4B0D001B68FF335979A5 +:1036A0000A435A710021FFF7C5FFA04200D920004C +:1036B00000230549A34203D0CA5CEA540133F9E769 +:1036C00070BDC0466C0A0020A007002010B50C4851 +:1036D000C9B24901421893689B049B0C3F2B0BD93C +:1036E0009468403B9B04A40B9B0CA403234393606E +:1036F00041188868C0B210BD93689B0B9B03F6E726 +:103700006C0A0020F0B51C002F4B85B01B6806002A +:103710000D000192002B54D02C4F3B78D9B2002BD6 +:1037200002D11920FEF772FF64233B70284BAA00D8 +:10373000D058002808D0036822005B680199984798 +:103740000400200005B0F0BD29003000FFF746FF5F +:10375000844204D929003000FFF740FF040029000B +:103760003000FFF7B3FF0121EBB21A4F03935B0167 +:103770000293029A3B6801989B18FF335A7A0A43D6 +:103780005A72154BA9012200C91800F047FD002C00 +:10379000D7D029003000FFF721FF0028D1D14021E8 +:1037A000039B3A6808335B01D318187901431971F8 +:1037B0000121D971029BD318FF339A7A0A439A7276 +:1037C000BFE701246442BCE7640A0020D40500205E +:1037D000B80500206C0A0020A007002013B56B4636 +:1037E000DC1D22000123FFF78DFF012801D1207885 +:1037F00016BD01204042FBE7F0B51C003A4B85B0F6 +:103800001B680E000192002B3FD08023DB019C42FD +:103810003BD8364D2B78D9B2002B02D11A20FEF7B7 +:10382000F5FE642300272B70314BB201D3180293AD +:10383000002C2CD02F4B1B680393FF2333401D001B +:1038400000930835039B6D015D19AB79DB0921D02D +:10385000294B2A49186800F01DFC294B17215843B1 +:1038600000F018FC274BEA79920713D49A5D002ADE +:1038700001D10138F7D201229A55009B5A011D4B04 +:103880009B189A69920B92039A6101277F42380034 +:1038900005B0F0BD00221B4B25009A55402C00D9E5 +:1038A00040252A000199029800F0B8FC009BA90469 +:1038B0005A01104B890C9B18029A7F195A619A6918 +:1038C000641B920B92030A439A61009B039A08338C +:1038D0005B01D3180222DA715979823A0A435A718C +:1038E000019B5B190193A3E7640A0020D505002022 +:1038F000E00500206C0A00200000002040420F007C +:1039000070110100D705002070B50C001D000D4B93 +:10391000A601F618110030002A0000F07FFCE4B286 +:10392000094A640114196661A369084928000B401B +:10393000A361A169AB04890B9B0C89031943A161A5 +:1039400070BDC046E00500206C0A0020FF3F00F07B +:10395000F7B5104B0F001B7814000190002B0CD111 +:103960000D4B16001D78002D09D00C4E0C483588E3 +:1039700028182D1900F052FC35802000FEBD002EC5 +:10398000FBD033007A1900210198FFF7BDFF2D18F5 +:10399000361AF4E760090020610A0020620A00205C +:1039A00061090020F8B500200D00140000AF012AC5 +:1039B00027D9D31D6A46DB08DB00D31A9D460800D1 +:1039C00000F0F8FC6E460323022200210130400083 +:1039D00030707370A2420DD2287800280AD0531C90 +:1039E000DBB20135B0549C4203D00232F154D2B262 +:1039F000F0E7220031000448FFF7AAFF431E984178 +:103A0000C0B2BD46F8BDC046B4050020F0B50025E3 +:103A1000012785B0184B0E0069461F700400009501 +:103A2000FFF744FC154B01A90B806A3BFF3BCB71B0 +:103A30006E3B0B72009B320009334B800E4B8D7135 +:103A40004F7108711D70092E0FD00D4E092237706D +:103A50000C4F200000953D80FFF77AFF694620005B +:103A6000FFF724FC3A88084935702000FFF770FF03 +:103A7000012005B0F0BDC046600900200902000029 +:103A8000610A0020620A002061090020F0B5CF78A9 +:103A900005000E0093B0022F09D1C9882B48FFF70B +:103AA000B5FF441EA041C4B2200013B0F0BD00F029 +:103AB0008DFA310000F06AFA002803D0C417241AE6 +:103AC000E40FF1E7012F0BD1F2882149112A11D817 +:103AD000D2B2002A0ED02800FFF73AFF0124E3E714 +:103AE0000400032FE0D1B378002B05D1F2881949E7 +:103AF000032AEDD90A78EEE7022B06D1B2791649EE +:103B00002800FFF74FFF0400CEE7012B02D1B27966 +:103B10001249F5E7032BC7D1114B01A91868FFF72C +:103B2000D4F9104B03A91868FFF7CFF90E4B05A97C +:103B30001868FFF7CAF90D4B07A91868FFF7C5F910 +:103B40006B460533DC77B27901A9D9E7B4050020CB +:103B50000D49000000490000F4480000044900003D +:103B60000CA0800040A0800044A0800048A08000FD +:103B700037B5050048780C000B2810D800F080FA03 +:103B8000061B0F310F484D7551546E71097801AA0B +:103B9000002906D1022311802800FFF7B5FE01207D +:103BA0003EBD00231380324B1B78012B00D11370D4 +:103BB00002230021F0E78A780023012A09D16A460E +:103BC00093802C4B1B78012B00D11371022301AA87 +:103BD000EFE7274A1370284A93699B0B9B03936175 +:103BE000DDE78C78012C07D1224B01AA1C70234BF6 +:103BF0001B7813702300DCE700208442D0D11C4BDB +:103C000001301D4A187093699B0B9B039361C7E7B2 +:103C100028008978FFF716FCC1E72800FFF736FF78 +:103C2000BEE70123164AC4E70B780020DB06B7D1B4 +:103C30002800FFF7C1FC2A200221A278104BFF3098 +:103C40001A600D4A13681C5C21434A241954FF343E +:103C5000195D2938FF3801431955D4E70123094A72 +:103C6000A7E78A78074B1A60B5E7002098E7C046B7 +:103C7000D6050020DE0500206C0A0020D048000098 +:103C8000640A0020680A00204B4BF7B51C78070037 +:103C9000002C00D083E0494E33689B8B1B070ED568 +:103CA00021002000FFF738F9326810231100FF319E +:103CB000887A03438B72424B1C60082393833368DA +:103CC0009A8B52071FD504229A833E4A1378002B01 +:103CD0000AD01378013BDBB213701378002B03D1A9 +:103CE00001211A20FEF792FC374A1378002B0AD0E4 +:103CF0001378013BDBB213701378002B03D1012141 +:103D00001920FEF783FC3368FF331A7AD2061ED5DA +:103D100010221A72597930320A435A7160232B49A2 +:103D200038000A781A423BD1FFF722FF3368FF338D +:103D3000002838D08022997952420A439A711A7A1F +:103D4000520604D540221A72597A0A435A723368CD +:103D500000241D8C01239D43EDB20193E1B2002D9F +:103D60001DD02B002341019A134215D02300326845 +:103D700008335B01D318DA79D20702D4DB799B07C9 +:103D800007D5134BA200D058002810D003681B6839 +:103D90009847019BA3409D430134092CDED1F7BD18 +:103DA000FFF772FBC2E720210A4A9171C7E738008A +:103DB000FFF794FAEDE7C046610A00206C0A002084 +:103DC000640A0020D5050020D4050020A0070020AB +:103DD000B8050020FF50004110B50248FFF754FF1E +:103DE00010BDC046B4050020014B024A1A6070475E +:103DF0006C0A00200050004110B500F0FBF910BD26 +:103E000010B500F001FA10BD3F20704713B56B46A6 +:103E10000268D9710733546819000122A04716BD02 +:103E200010B502210069FFF7D9FB10BD10B50321C1 +:103E30000069FFF7E9FB10BD10B51300084A040044 +:103E4000D279002A03D101230020636010BD0A004B +:103E500000690321FFF7D0FC0028F4D0F6E7C04644 +:103E60003400002010B5054C03002068421C04D12A +:103E70001A68180052699047206010BD8000002029 +:103E8000074A0300106810B5411C03D001235B42B0 +:103E9000136010BD02211869FFF7A0FCF9E7C046C6 +:103EA0008000002010B503784222023303700249DB +:103EB0000248FFF74DFD10BD3C000020B405002076 +:103EC00010B50178030042780020A12908D1212AE9 +:103ED00005D1174917481A3AFFF73AFD012010BDDE +:103EE0002129FCD1202A13D111491248193AFFF790 +:103EF000CFFB96220E4BD200196891420ED1DA798F +:103F000001231A420AD1FA20FEF70AFC0020E6E754 +:103F1000222A06D19A78064BDA71EAE7FEF706FC08 +:103F2000F4E7232ADBD15A88034B1A60D7E7C0464F +:103F300034000020B405002030000020FA220021C7 +:103F4000054B92009A60054A08321A60044A59608B +:103F50001A6119767047C046700B00202049000096 +:103F6000B405002070B50E0000254468002C0BD06D +:103F70002368310020005B689847002802DBE46872 +:103F80002D18F3E701256D42280070BD70B50D00B6 +:103F90004468002C08D02368290020009B689847BB +:103FA000002802D1E468F4E7200070BD70B50D0070 +:103FB0004468002C08D02368290020001B6898471B +:103FC000002802D1E468F4E7200070BD064A01230E +:103FD000116810B50C0005481C40194203D1044972 +:103FE00044600180136010BD8C0B0020900B0020FA +:103FF0000204000070B50400012320CC00212A78BF +:104000002000134380222B70520000F010F9AB788F +:10401000DB07FCD4AB789B07F9D46C6270BD000061 +:104020001F22144B70B51B68590B9C0C9B0111404F +:104030005B0F22401F2900D11A391F2A00D1023AF2 +:10404000072B00D1043B1F2500688E01048D0A490F +:104050002A40214031430185018D14000A00AA4302 +:1040600022430285028D1903044B13400B43038541 +:1040700070BDC046246080003FF8FFFFFF8FFFFF48 +:1040800002B4714649084900095C49008E4402BCEB +:104090007047C046002243088B4274D303098B4209 +:1040A0005FD3030A8B4244D3030B8B4228D3030C08 +:1040B0008B420DD3FF22090212BA030C8B4202D3AA +:1040C0001212090265D0030B8B4219D300E0090AD2 +:1040D000C30B8B4201D3CB03C01A5241830B8B42DB +:1040E00001D38B03C01A5241430B8B4201D34B03C4 +:1040F000C01A5241030B8B4201D30B03C01A524129 +:10410000C30A8B4201D3CB02C01A5241830A8B42AD +:1041100001D38B02C01A5241430A8B4201D34B0296 +:10412000C01A5241030A8B4201D30B02C01A5241FA +:10413000CDD2C3098B4201D3CB01C01A52418309AE +:104140008B4201D38B01C01A524143098B4201D3E8 +:104150004B01C01A524103098B4201D30B01C01A13 +:104160005241C3088B4201D3CB00C01A524183088D +:104170008B4201D38B00C01A524143088B4201D3BA +:104180004B00C01A5241411A00D20146524110461A +:104190007047FFE701B5002000F006F802BDC046F9 +:1041A0000029F7D076E770477047C04670B5002603 +:1041B0000C4D0D4C641BA410A64209D1002600F042 +:1041C00021F90A4D0A4C641BA410A64205D170BD0A +:1041D000B300EB5898470136EEE7B300EB58984729 +:1041E0000136F2E7E8000020E8000020E8000020A7 +:1041F000F800002010B5034B0100186800F06AF8C1 +:1042000010BDC0468400002010B5034B01001868A3 +:1042100000F016F810BDC04684000020002310B541 +:104220009A4200D110BDCC5CC4540133F8E70300BE +:104230008218934200D1704719700133F9E70000EA +:1042400070B50500002910D00C1F2368002B00DA80 +:10425000E418280000F0B6F81D4A1368002B05D1B9 +:1042600063601460280000F0B5F870BDA34208D95F +:10427000216860188342F3D118685B684118216097 +:10428000EEE71A005B68002B01D0A342F9D9116850 +:104290005018A0420BD120680918501811608342B1 +:1042A000E0D118685B68411811605360DAE7A042FA +:1042B00002D90C232B60D5E721686018834203D113 +:1042C00018685B684118216063605460CAE7C046A3 +:1042D000980B0020F8B50323CD1C9D43083506003C +:1042E0000C2D1FD20C25A9421ED8300000F06AF810 +:1042F00025490A681400002C1AD1244F3B68002B72 +:1043000004D12100300000F043F83860290030006B +:1043100000F03EF8431C2BD10C233000336000F03A +:1043200059F803E0002DDEDA0C2333600020F8BDDD +:1043300023685B1B19D40B2B03D92360E418256079 +:1043400003E06368A2420ED10B60300000F042F837 +:10435000200007220B30231D9043C21A9842E6D05A +:104360001B1AA350E3E75360EFE722006468C2E73B +:104370000323C41C9C43A042E1D0211A300000F06A +:1043800007F8431CDBD1C7E7980B00209C0B0020EB +:10439000002370B5064D040008002B6000F024F8DF +:1043A000431C03D12B68002B00D0236070BDC04696 +:1043B000A40B00200023C25C0133002AFBD1581E4D +:1043C0007047000010B5024800F00CF810BDC04660 +:1043D000AC0B002010B5024800F005F810BDC04637 +:1043E000AC0B002070477047044A03001068002897 +:1043F00002D0C318136070470148FAE7A00B0020F1 +:10440000B40B0020F8B5C046F8BC08BC9E46704707 +:10441000F8B5C046F8BC08BC9E46704700000000D6 +:104420000B000000020000001C000000FF00010162 +:1044300001010B00000000000A0000000200000063 +:104440001C000000FF00000100010A000000000045 +:104450000E0000000800000004000000FF00000043 +:1044600000000E0000000000090000000400000031 +:104470001C000000FF000100010009000000000016 +:1044800008000000040000001C000000FF00000005 +:1044900000001000000000000F00000004000000F9 +:1044A0001C000000FF00010301030F0000000000DA +:1044B00014000000050000002C000000FF000200B6 +:1044C00002000400000000001500000008000000C9 +:1044D00004000000FF00FFFFFFFF050000000000D8 +:1044E00006000000040000001C000000060000019F +:1044F00000010600000000000700000004000000AA +:104500001C0000000700010101010700000000007D +:1045100012000000040000001C000000FF00000367 +:104520000003020000000000100000000400000072 +:104530001C000000FF00000200020000000000005C +:1045400013000000050000002C000000FF00030025 +:104550000300030000000000110000000400000040 +:104560001C000000FF000102010201000000000029 +:104570000200000001000000020000000000FFFF38 +:10458000FFFF020001000000080000000100000021 +:1045900018000000020000040004080001000000F0 +:1045A00009000000010000001800000003000104E1 +:1045B00001040900000000000400000001000000E8 +:1045C00018000000040000000000040000000000CB +:1045D00005000000010000001800000005000100B7 +:1045E00001000500010000000200000001000000C1 +:1045F000000000000A00FFFFFFFF020000000000B3 +:10460000160000000200000004000000FF00FFFF91 +:10461000FFFF06000000000017000000020000007D +:1046200004000000FF00FFFFFFFF07000000000084 +:104630000C0000000300000004000000FF00FFFF6A +:10464000FFFF0C00010000000A0000000300000052 +:1046500004000000FF00FFFFFFFF0A000100000050 +:104660000B0000000300000004000000FF00FFFF3B +:10467000FFFF0B0001000000030000000B00000022 +:1046800004000000FF00FFFFFFFFFF00000000002C +:104690001B0000000B00000004000000FF00FFFFF3 +:1046A000FFFFFF00000000001C00000006000000EB +:1046B00000000000FF00FFFFFFFFFF000000000000 +:1046C000180000000600000000000000FF00FFFFCF +:1046D000FFFFFF00000000001900000006000000BE +:1046E00000000000FF00FFFFFFFFFF0001000000CF +:1046F000160000000300000000000000FF00FFFFA4 +:10470000FFFFFF0001000000170000000300000091 +:1047100000000000FF00FFFFFFFFFF00000000009F +:10472000160000000200000000000000FF00FFFF74 +:10473000FFFFFF0000000000170000000200000063 +:1047400000000000FF00FFFFFFFFFF00000000006F +:10475000130000000200000000000000FF00FFFF47 +:10476000FFFFFF000000000010000000020000003A +:1047700000000000FF00FFFFFFFFFF00000000003F +:10478000120000000200000000000000FF00FFFF18 +:10479000FFFFFF0000000000110000000200000009 +:1047A00000000000FF00FFFFFFFFFF00000000000F +:1047B0000D000000040000000C000000FF000100DC +:1047C000FFFF0D00000000001500000005000000C4 +:1047D0000C000000FF000300FFFFFF0000000000CE +:1047E00006000000040000000C000000FF000001B3 +:1047F000FFFFFF00000000000700000004000000B1 +:104800000C000000FF000101FFFFFF00000000009E +:10481000030000000100000002000000FF00FFFF95 +:10482000FFFFFF0000000000020000000100000088 +:10483000020000001400FFFFFFFF02000000000064 +:104840000600000001000000020000000600000158 +:104850000001060000000000070000000100000049 +:1048600002000000070001010101070000080042EA +:1048700014090000000C0042150A0000001000425C +:10488000160B000000140042170C00000018004234 +:10489000180D0000001C0042190E0000000000006E +:1048A000000000005D2D0000A52E0000832C0000FC +:1048B0003F2C0000592C0000112E0000312A00006E +:1048C000212A0000A92A00004B2A00001D2A00000E +:1048D000000000000000000000000000EB310000BC +:1048E000D13000001D300000C92E0000F12E000064 +:1048F000052F000046656174686572204D30000028 +:104900000403090441646166727569740012010050 +:1049100002EF0201409A230B800001010203010013 +:1049200000000000000000000D3E0000393E0000C5 +:10493000093E00002D3E0000213E0000813E0000A7 +:08494000653E000000000000CC +:1049480040420F00FFFFFFFF00000000830000004F +:1049580002000000820000000000000000000000CB +:10496800000000000000000000000000000000003F +:10497800FFFFFFFF00C2010000000800080B000253 +:1049880002020000090400000102020000052400E0 +:104998001001042402060524060001052401010172 +:1049A8000705810310001009040100020A00000035 +:1049B80007050202400000070583024000000000CE +:1049C800FFFFFFFF8800002000000000000000003B +:1049D80000000000000000000000000000000000CF +:1049E80000000000000000000000000000000000BF +:1049F80000000000000000000000000000000000AF +:104A0800000000000000000000000000000000009E +:104A1800000000000000000000000000000000008E +:104A28000000000000000000DD200000212100003F +:104A3800E93D00003D3F0000B520000000000000F7 +:04000003000021CD0B +:00000001FF diff --git a/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map b/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map new file mode 100644 index 00000000000..d9038ef7b3b --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map @@ -0,0 +1,3389 @@ +Archive member included to satisfy reference by file (symbol) + +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + (Reset_Handler) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) (SysTick_DefaultHandler) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) (yield) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) (SystemInit) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) (SystemCoreClock) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) (analogReference) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) (pinMode) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) (pinPeripheral) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) (tickReset) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o (SERCOM::SERCOM(Sercom*)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o (Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o (String::String(char const*)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (main) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (dtostrf) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (ltoa) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) (Print::write(unsigned char const*, unsigned int)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) (USBDeviceClass::init()) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__cxa_pure_virtual) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) (operator new(unsigned int)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) (CDC_GetInterface(unsigned char*)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) (PluggableUSB_::getInterface(unsigned char*)) +/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) (USBDevice_SAMD21G18x::reset()) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) (__gnu_thumb1_case_uqi) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) (__aeabi_uidiv) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) (__aeabi_idiv) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) (__aeabi_idiv0) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_dcmplt) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_d2uiz) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_dadd) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_ddiv) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__eqdf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__gedf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__ledf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_dmul) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_dsub) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_dcmpun) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) (__aeabi_d2iz) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (__aeabi_ui2d) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (__aeabi_f2d) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (__aeabi_d2f) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) (__clzsi2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (atof) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (atol) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (exit) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) (_global_impure_ptr) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_init_array) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (isspace) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) (malloc) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) (memcpy) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (memmove) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (memset) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) (_free_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) (_malloc_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) (_printf_float) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) (_printf_common) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (realloc) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) (_sbrk_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) (sprintf) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strchr) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strcmp) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strcpy) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strlen) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strncmp) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strncpy) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strrchr) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (strstr) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) (strtod) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) (_strtol_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (tolower) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) (toupper) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) (vsnprintf) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) (_ctype_) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) (_dtoa_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__gethex) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__match) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (_C_numeric_locale) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__global_locale) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) (_localeconv_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) (__ascii_mbtowc) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) (memchr) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) (__malloc_lock) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (_Balloc) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) (_calloc_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) (_realloc_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) (_svfprintf_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) (errno) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (nan) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (nanf) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) (__ascii_wctomb) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) (__retarget_lock_acquire_recursive) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) (_malloc_usable_size_r) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) (__gnu_thumb1_case_shi) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__aeabi_fcmple) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__aeabi_d2lz) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) (__aeabi_d2ulz) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__aeabi_l2d) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) (__eqsf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) (__gesf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) (__lesf2) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) (__aeabi_fcmpun) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) (__aeabi_i2d) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) (_sbrk) +/home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) (_exit) + +Allocating common symbols +Common symbol size file + +__lock___atexit_recursive_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___arc4random_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +errno 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) +__lock___env_recursive_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___sinit_recursive_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___malloc_recursive_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___at_quick_exit_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___dd_hash_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___tz_mutex 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___sfp_recursive_mutex + 0x1 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + +Discarded input sections + + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + .data 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .text 0x0000000000000000 0x78 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.extab 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.exidx 0x0000000000000000 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.attributes + 0x0000000000000000 0x1b /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/s_file.S.o + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/s_file.S.o + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/s_file.S.o + .ARM.attributes + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/s_file.S.o + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .rodata._Z5hellov.str1.1 + 0x0000000000000000 0x6 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .text._Z5hellov + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .data.g_apTCInstances + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .text.millis 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .text.__halt 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .text.analogReadResolution + 0x0000000000000000 0x4c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .text.analogWriteResolution + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .text.analogRead + 0x0000000000000000 0xe8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .text.analogWrite + 0x0000000000000000 0x1cc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .rodata 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .bss.tcEnabled.12735 + 0x0000000000000000 0x6 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .data._ADCResolution + 0x0000000000000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .data._readResolution + 0x0000000000000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .data._writeResolution + 0x0000000000000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .text.digitalRead + 0x0000000000000000 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM25isBufferOverflowErrorUARTEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM17isParityErrorUARTEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM8resetSPIEv + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM9enableSPIEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM10disableSPIEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM15setDataOrderSPIE15SercomDataOrder + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM15getDataOrderSPIEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM15setClockModeSPIE18SercomSpiClockMode + 0x0000000000000000 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM15transferDataSPIEh + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM24isBufferOverflowErrorSPIEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM22isDataRegisterEmptySPIEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM28calculateBaudrateSynchronousEm + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM12initSPIClockE18SercomSpiClockModem + 0x0000000000000000 0x26 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM14setBaudrateSPIEh + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM9resetWIREEv + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM10enableWIREEv + 0x0000000000000000 0x2a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM11disableWIREEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM18prepareNackBitWIREEv + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM17prepareAckBitWIREEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM22prepareCommandBitsWireEh + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM21startTransmissionWIREEh23SercomWireReadWriteFlag + 0x0000000000000000 0x7c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM18sendDataMasterWIREEh + 0x0000000000000000 0x26 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM17sendDataSlaveWIREEh + 0x0000000000000000 0x1e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM12isMasterWIREEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM11isSlaveWIREEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM13isBusIdleWIREEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM14isBusOwnerWIREEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM16isBusUnknownWIREEv + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM13isArbLostWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM13isBusBusyWIREEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM15isDataReadyWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM18isStopDetectedWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM21isRestartDetectedWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM14isAddressMatchEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM25isMasterReadOperationWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM20isRXNackReceivedWIREEv + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM13availableWIREEv + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM12readDataWIREEv + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM7initSPIE14SercomSpiTXPad11SercomRXPad17SercomSpiCharSize15SercomDataOrder + 0x0000000000000000 0x52 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM13initSlaveWIREEhb + 0x0000000000000000 0x4a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .text._ZN6SERCOM14initMasterWIREEm + 0x0000000000000000 0x54 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .text._ZN4Uart16extractNbStopBitEt + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .text._ZN4UartC2EP6SERCOMhh11SercomRXPad15SercomUartTXPadhh + 0x0000000000000000 0x80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String14StringIfHelperEv + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringD2Ev + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String10invalidateEv + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String12changeBufferEj + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String7reserveEj + 0x0000000000000000 0x2a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String4copyEPKcj + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2EPKc + 0x0000000000000000 0x26 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String4copyEPK19__FlashStringHelperj + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String4moveERS_ + 0x0000000000000000 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2EOS_ + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2EO15StringSumHelper + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringaSERKS_ + 0x0000000000000000 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2ERKS_ + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringaSEOS_ + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringaSEO15StringSumHelper + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringaSEPKc + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Ec + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Ehh + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Eih + 0x0000000000000000 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Ejh + 0x0000000000000000 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Elh + 0x0000000000000000 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Emh + 0x0000000000000000 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Efh + 0x0000000000000000 0x34 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2Edh + 0x0000000000000000 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringaSEPK19__FlashStringHelper + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringC2EPK19__FlashStringHelper + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEPKcj + 0x0000000000000000 0x32 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatERKS_ + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEPKc + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEc + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEh + 0x0000000000000000 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEi + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEj + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEl + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEm + 0x0000000000000000 0x22 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEf + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEd + 0x0000000000000000 0x2a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6concatEPK19__FlashStringHelper + 0x0000000000000000 0x3a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperRK6String + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperPKc + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperc + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperh + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperi + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperj + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperl + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperm + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperf + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperd + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZplRK15StringSumHelperPK19__FlashStringHelper + 0x0000000000000000 0x16 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String9compareToERKS_ + 0x0000000000000000 0x3a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String6equalsERKS_ + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String6equalsEPKc + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6StringltERKS_ + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6StringgtERKS_ + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6StringleERKS_ + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6StringgeERKS_ + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String16equalsIgnoreCaseERKS_ + 0x0000000000000000 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String10startsWithERKS_j + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String10startsWithERKS_ + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String8endsWithERKS_ + 0x0000000000000000 0x2a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String9setCharAtEjc + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6StringixEj + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6StringixEj + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String6charAtEj + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String8getBytesEPhjj + 0x0000000000000000 0x34 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String7indexOfEcj + 0x0000000000000000 0x1e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String7indexOfEc + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String7indexOfERKS_j + 0x0000000000000000 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String7indexOfERKS_ + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String11lastIndexOfEcj + 0x0000000000000000 0x32 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String11lastIndexOfEc + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String11lastIndexOfERKS_j + 0x0000000000000000 0x4c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String11lastIndexOfERKS_ + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .rodata._ZNK6String9substringEjj.str1.1 + 0x0000000000000000 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String9substringEjj + 0x0000000000000000 0x50 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String7replaceEcc + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String7replaceERKS_S1_ + 0x0000000000000000 0x126 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6removeEjj + 0x0000000000000000 0x34 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String6removeEj + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String11toLowerCaseEv + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String11toUpperCaseEv + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZN6String4trimEv + 0x0000000000000000 0x52 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String5toIntEv + 0x0000000000000000 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String8toDoubleEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text._ZNK6String7toFloatEv + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .bss._ZZN6StringixEjE19dummy_writable_char + 0x0000000000000000 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_info 0x0000000000000000 0x4d2b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_abbrev 0x0000000000000000 0x700 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_loc 0x0000000000000000 0x2a11 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_aranges + 0x0000000000000000 0x2b8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_ranges 0x0000000000000000 0x5c8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_line 0x0000000000000000 0x1d65 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_str 0x0000000000000000 0x16dd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .comment 0x0000000000000000 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .debug_frame 0x0000000000000000 0x898 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .ARM.attributes + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .rodata.dtostrf.str1.1 + 0x0000000000000000 0x9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .text.dtostrf 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_info 0x0000000000000000 0x9e1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_abbrev 0x0000000000000000 0x241 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_loc 0x0000000000000000 0x76 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_aranges + 0x0000000000000000 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_ranges 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_line 0x0000000000000000 0x20b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_str 0x0000000000000000 0x61a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .comment 0x0000000000000000 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .debug_frame 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .ARM.attributes + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .text.ltoa 0x0000000000000000 0x84 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .text.itoa 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .text.ultoa 0x0000000000000000 0x64 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .text.utoa 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_info 0x0000000000000000 0xb81 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_abbrev 0x0000000000000000 0x25e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_loc 0x0000000000000000 0x4f3 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_aranges + 0x0000000000000000 0x38 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_ranges 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_line 0x0000000000000000 0x2f3 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_str 0x0000000000000000 0x619 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .comment 0x0000000000000000 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .debug_frame 0x0000000000000000 0x80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .ARM.attributes + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print17availableForWriteEv + 0x0000000000000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5flushEv + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5writeEPKc + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEPK19__FlashStringHelper + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printERK6String + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEPKc + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEc + 0x0000000000000000 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printERK9Printable + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .rodata._ZN5Print7printlnEv.str1.1 + 0x0000000000000000 0x3 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEv + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEPK19__FlashStringHelper + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnERK6String + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEPKc + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEc + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnERK9Printable + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print6printfEPKcz + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print11printNumberEmh + 0x0000000000000000 0x50 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEli + 0x0000000000000000 0x3e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEii + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEii + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEli + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEmi + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEhi + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEhi + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEji + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEji + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEmi + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .rodata._ZN5Print10printFloatEdh.str1.1 + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print10printFloatEdh + 0x0000000000000000 0x168 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print5printEdi + 0x0000000000000000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .text._ZN5Print7printlnEdi + 0x0000000000000000 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .rodata._ZTV5Print + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .group 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass7standbyEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass6detachEv + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass3endEv + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass10configuredEv + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass10setHandlerEmP9EPHandler + 0x0000000000000000 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass5stallEm + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass9connectedEv + 0x0000000000000000 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass12packMessagesEb + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN14USBDeviceClass7sendZlpEm + 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .text.__cxa_pure_virtual + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .text.__cxa_deleted_virtual + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_info 0x0000000000000000 0x1033 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_abbrev 0x0000000000000000 0x2af /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_aranges + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_ranges 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_line 0x0000000000000000 0x3bf /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_str 0x0000000000000000 0x7df /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .comment 0x0000000000000000 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .debug_frame 0x0000000000000000 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .ARM.attributes + 0x0000000000000000 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .text._Znaj 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .text._ZdaPv 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._Z17_CDC_GetInterfacev + 0x0000000000000000 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._Z23_CDC_GetInterfaceLengthv + 0x0000000000000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN7Serial_5beginEm + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN7Serial_5beginEmh + 0x0000000000000000 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN7Serial_3endEv + 0x0000000000000000 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN7Serial_9readBytesEPcj + 0x0000000000000000 0x3c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN7Serial_cvbEv + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .text._ZN13PluggableUSB_12getShortNameEPc + 0x0000000000000000 0x1e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .text._ZN13PluggableUSB_4plugEP18PluggableUSBModule + 0x0000000000000000 0x58 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .text._ZN13PluggableUSB_C2Ev + 0x0000000000000000 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .text 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + .data 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + .bss 0x0000000000000000 0x0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + .text 0x0000000000000000 0x1d4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + .text 0x0000000000000000 0x7c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + .text 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + .text 0x0000000000000000 0x6d4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + .debug_frame 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + .text 0x0000000000000000 0x5d0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .rodata 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .debug_frame 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + .text 0x0000000000000000 0x78 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + .debug_frame 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + .text 0x0000000000000000 0xe4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + .debug_frame 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + .text 0x0000000000000000 0xe0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + .debug_frame 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + .text 0x0000000000000000 0x4d8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .rodata 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .debug_frame 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + .text 0x0000000000000000 0x724 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + .debug_frame 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + .text 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + .text 0x0000000000000000 0x6c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + .text 0x0000000000000000 0x4c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + .debug_frame 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + .text 0x0000000000000000 0x90 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + .text 0x0000000000000000 0x110 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + .debug_frame 0x0000000000000000 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + .text 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .text.atof 0x0000000000000000 0xa /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .debug_frame 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .text.atol 0x0000000000000000 0xc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .text._atol_r 0x0000000000000000 0xc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .debug_frame 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .text.exit 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .debug_frame 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .text.isspace 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .text.memmove 0x0000000000000000 0x26 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .debug_frame 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .text.__cvt 0x0000000000000000 0xc6 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .text.__exponent + 0x0000000000000000 0x8e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .rodata._printf_float.str1.1 + 0x0000000000000000 0x12 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .text._printf_float + 0x0000000000000000 0x49c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .debug_frame 0x0000000000000000 0x70 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .text._printf_common + 0x0000000000000000 0xde /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .rodata._printf_i.str1.1 + 0x0000000000000000 0x22 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .text._printf_i + 0x0000000000000000 0x224 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .debug_frame 0x0000000000000000 0x54 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .text.realloc 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .debug_frame 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .text._sprintf_r + 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .text.sprintf 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .debug_frame 0x0000000000000000 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .text.strchr 0x0000000000000000 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + .text 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + .ARM.attributes + 0x0000000000000000 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .text.strcpy 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .text.strncmp 0x0000000000000000 0x22 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .text.strncpy 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .text.strrchr 0x0000000000000000 0x26 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .text.strstr 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text.sulp 0x0000000000000000 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .rodata._strtod_l.str1.1 + 0x0000000000000000 0xd /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text._strtod_l + 0x0000000000000000 0xc48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text._strtod_r + 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text.strtod_l + 0x0000000000000000 0x18 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text.strtod 0x0000000000000000 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text.strtof_l + 0x0000000000000000 0xa8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text.strtof 0x0000000000000000 0xac /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .rodata.fpi.6203 + 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .rodata.fpinan.6239 + 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .rodata.tinytens + 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .debug_frame 0x0000000000000000 0xd8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .text._strtol_l.isra.0 + 0x0000000000000000 0x104 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .text._strtol_r + 0x0000000000000000 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .text.strtol_l + 0x0000000000000000 0x18 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .text.strtol 0x0000000000000000 0x18 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .debug_frame 0x0000000000000000 0x78 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .text.tolower 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .text.toupper 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .text._vsnprintf_r + 0x0000000000000000 0x56 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .text.vsnprintf + 0x0000000000000000 0x18 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .debug_frame 0x0000000000000000 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + .rodata._ctype_ + 0x0000000000000000 0x101 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .text.quorem 0x0000000000000000 0x116 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .rodata._dtoa_r.str1.1 + 0x0000000000000000 0xf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .text._dtoa_r 0x0000000000000000 0xbcc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .debug_frame 0x0000000000000000 0x54 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .text.rshift 0x0000000000000000 0xa8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .text.__hexdig_fun + 0x0000000000000000 0x2a /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .text.__gethex + 0x0000000000000000 0x454 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .debug_frame 0x0000000000000000 0x60 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .text.L_shift 0x0000000000000000 0x24 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .text.__match 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .text.__hexnan + 0x0000000000000000 0x14c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .debug_frame 0x0000000000000000 0x68 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .text.__numeric_load_locale + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .rodata.str1.1 + 0x0000000000000000 0x3 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .data.numempty + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .rodata._C_numeric_locale + 0x0000000000000000 0xc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .rodata._setlocale_r.str1.1 + 0x0000000000000000 0x9 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .text._setlocale_r + 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .text.__locale_mb_cur_max + 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .text.setlocale + 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .rodata.str1.1 + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .bss._PathLocale + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .data.__global_locale + 0x0000000000000000 0x16c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .debug_frame 0x0000000000000000 0x54 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .text.__localeconv_l + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .text._localeconv_r + 0x0000000000000000 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .text.localeconv + 0x0000000000000000 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .debug_frame 0x0000000000000000 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .text._mbtowc_r + 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .text.__ascii_mbtowc + 0x0000000000000000 0x24 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .debug_frame 0x0000000000000000 0x44 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .text.memchr 0x0000000000000000 0x16 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text._Balloc 0x0000000000000000 0x70 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text._Bfree 0x0000000000000000 0x32 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__multadd + 0x0000000000000000 0x7c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__s2b 0x0000000000000000 0x82 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__hi0bits + 0x0000000000000000 0x34 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__lo0bits + 0x0000000000000000 0x5c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__i2b 0x0000000000000000 0x12 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__multiply + 0x0000000000000000 0x146 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__pow5mult + 0x0000000000000000 0xa0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__lshift + 0x0000000000000000 0xc8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__mcmp 0x0000000000000000 0x36 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__mdiff 0x0000000000000000 0x106 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__ulp 0x0000000000000000 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__b2d 0x0000000000000000 0xa0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__d2b 0x0000000000000000 0xac /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__ratio 0x0000000000000000 0x4e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text._mprec_log10 + 0x0000000000000000 0x34 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__copybits + 0x0000000000000000 0x44 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text.__any_on + 0x0000000000000000 0x46 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .rodata.__mprec_bigtens + 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .rodata.__mprec_tens + 0x0000000000000000 0xc8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .rodata.__mprec_tinytens + 0x0000000000000000 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .rodata.p05.6127 + 0x0000000000000000 0xc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .debug_frame 0x0000000000000000 0x22c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .text._calloc_r + 0x0000000000000000 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .text._realloc_r + 0x0000000000000000 0x4c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .debug_frame 0x0000000000000000 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .text.__ssputs_r + 0x0000000000000000 0xc4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .text.__ssprint_r + 0x0000000000000000 0x100 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .rodata._svfprintf_r.str1.1 + 0x0000000000000000 0x11 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .text._svfprintf_r + 0x0000000000000000 0x200 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .debug_frame 0x0000000000000000 0x74 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .text.cleanup_glue + 0x0000000000000000 0x1a /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .text._reclaim_reent + 0x0000000000000000 0xcc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .text.nan 0x0000000000000000 0xc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .text.nanf 0x0000000000000000 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .text._wctomb_r + 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .text.__ascii_wctomb + 0x0000000000000000 0x1a /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .debug_frame 0x0000000000000000 0x38 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_init + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_init_recursive + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_close + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_close_recursive + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_acquire + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire_recursive + 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_release + 0x0000000000000000 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .text._malloc_usable_size_r + 0x0000000000000000 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + .text 0x0000000000000000 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .text 0x0000000000000000 0x74 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + .text 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + .text 0x0000000000000000 0x3c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + .text 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + .text 0x0000000000000000 0x50 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + .text 0x0000000000000000 0x98 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + .debug_frame 0x0000000000000000 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + .text 0x0000000000000000 0x94 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + .debug_frame 0x0000000000000000 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + .text 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + .text 0x0000000000000000 0x60 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + .debug_frame 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .text._exit 0x0000000000000000 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .debug_frame 0x0000000000000000 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .ARM.attributes + 0x0000000000000000 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o + .text 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + .data 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + .bss 0x0000000000000000 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + +Memory Configuration + +Name Origin Length Attributes +FLASH 0x0000000000002000 0x000000000003e000 xr +RAM 0x0000000020000000 0x0000000000008000 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +LOAD /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/s_file.S.o +LOAD /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o +LOAD /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +START GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/CMSIS/5.4.0/CMSIS/Lib/GCC//libarm_cortexM0l_math.a +LOAD /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a +END GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libstdc++_nano.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libm.a +START GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a +END GROUP +START GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a +END GROUP +START GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a +END GROUP +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o +LOAD /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + +.text 0x0000000000002000 0x2948 + 0x0000000000002000 __text_start__ = . + *(.sketch_boot) + 0x0000000000002000 . = ALIGN (0x2000) + *(.isr_vector) + .isr_vector 0x0000000000002000 0xb4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x0000000000002000 exception_table + *(.text*) + .text 0x00000000000020b4 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .text.setup 0x00000000000020fc 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + 0x00000000000020fc setup + .text.loop 0x00000000000020fe 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + 0x00000000000020fe loop + .text.SERCOM0_Handler + 0x0000000000002100 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x0000000000002100 SERCOM0_Handler + .text.SERCOM5_Handler + 0x0000000000002110 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x0000000000002110 SERCOM5_Handler + .text.startup._GLOBAL__sub_I_g_APinDescription + 0x0000000000002120 0x94 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .text.Dummy_Handler + 0x00000000000021b4 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x00000000000021b4 DMAC_Handler + 0x00000000000021b4 HardFault_Handler + 0x00000000000021b4 AC_Handler + 0x00000000000021b4 PendSV_Handler + 0x00000000000021b4 NMI_Handler + 0x00000000000021b4 TC7_Handler + 0x00000000000021b4 SERCOM1_Handler + 0x00000000000021b4 ADC_Handler + 0x00000000000021b4 TCC1_Handler + 0x00000000000021b4 SERCOM2_Handler + 0x00000000000021b4 TCC0_Handler + 0x00000000000021b4 RTC_Handler + 0x00000000000021b4 EIC_Handler + 0x00000000000021b4 TC6_Handler + 0x00000000000021b4 WDT_Handler + 0x00000000000021b4 TC4_Handler + 0x00000000000021b4 TC3_Handler + 0x00000000000021b4 Dummy_Handler + 0x00000000000021b4 PM_Handler + 0x00000000000021b4 SVC_Handler + 0x00000000000021b4 TCC2_Handler + 0x00000000000021b4 EVSYS_Handler + 0x00000000000021b4 SERCOM3_Handler + 0x00000000000021b4 SERCOM4_Handler + 0x00000000000021b4 I2S_Handler + 0x00000000000021b4 NVMCTRL_Handler + 0x00000000000021b4 DAC_Handler + 0x00000000000021b4 PTC_Handler + 0x00000000000021b4 SYSCTRL_Handler + *fill* 0x00000000000021b6 0x2 + .text.USB_Handler + 0x00000000000021b8 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x00000000000021b8 USB_Handler + .text.Reset_Handler + 0x00000000000021cc 0x54 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x00000000000021cc Reset_Handler + .text.SysTick_Handler + 0x0000000000002220 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x0000000000002220 SysTick_Handler + .text.USB_SetHandler + 0x0000000000002230 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0x0000000000002230 USB_SetHandler + .text.micros 0x000000000000223c 0x60 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + 0x000000000000223c micros + .text.delay 0x000000000000229c 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + 0x000000000000229c delay + .text.SysTick_DefaultHandler + 0x00000000000022c8 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + 0x00000000000022c8 SysTick_DefaultHandler + .text.__empty 0x00000000000022dc 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + 0x00000000000022dc yield + .text.__false 0x00000000000022de 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + 0x00000000000022de sysTickHook + *fill* 0x00000000000022e2 0x2 + .text.SystemInit + 0x00000000000022e4 0x160 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + 0x00000000000022e4 SystemInit + .text.init 0x0000000000002444 0xe0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + 0x0000000000002444 init + .text.analogReference + 0x0000000000002524 0x88 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + 0x0000000000002524 analogReference + .text.pinMode 0x00000000000025ac 0x60 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + 0x00000000000025ac pinMode + .text.digitalWrite + 0x000000000000260c 0x58 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + 0x000000000000260c digitalWrite + .text.pinPeripheral + 0x0000000000002664 0xbc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + 0x0000000000002664 pinPeripheral + .text.initiateReset + 0x0000000000002720 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + 0x0000000000002720 initiateReset + .text.cancelReset + 0x000000000000272c 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + 0x000000000000272c cancelReset + .text.tickReset + 0x000000000000273c 0x74 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + 0x000000000000273c tickReset + .text._ZN6SERCOMC2EP6Sercom + 0x00000000000027b0 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000027b0 SERCOM::SERCOM(Sercom*) + 0x00000000000027b0 SERCOM::SERCOM(Sercom*) + .text._ZN6SERCOM9initFrameE18SercomUartCharSize15SercomDataOrder16SercomParityMode19SercomNumberStopBit + 0x00000000000027b4 0x3a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000027b4 SERCOM::initFrame(SercomUartCharSize, SercomDataOrder, SercomParityMode, SercomNumberStopBit) + .text._ZN6SERCOM8initPadsE15SercomUartTXPad11SercomRXPad + 0x00000000000027ee 0x26 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000027ee SERCOM::initPads(SercomUartTXPad, SercomRXPad) + .text._ZN6SERCOM9resetUARTEv + 0x0000000000002814 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002814 SERCOM::resetUART() + .text._ZN6SERCOM10enableUARTEv + 0x000000000000282e 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x000000000000282e SERCOM::enableUART() + .text._ZN6SERCOM9flushUARTEv + 0x0000000000002842 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002842 SERCOM::flushUART() + .text._ZN6SERCOM15clearStatusUARTEv + 0x0000000000002852 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002852 SERCOM::clearStatusUART() + .text._ZN6SERCOM17availableDataUARTEv + 0x000000000000285a 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x000000000000285a SERCOM::availableDataUART() + .text._ZN6SERCOM11isUARTErrorEv + 0x0000000000002864 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002864 SERCOM::isUARTError() + .text._ZN6SERCOM20acknowledgeUARTErrorEv + 0x000000000000286c 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x000000000000286c SERCOM::acknowledgeUARTError() + .text._ZN6SERCOM16isFrameErrorUARTEv + 0x000000000000287a 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x000000000000287a SERCOM::isFrameErrorUART() + .text._ZN6SERCOM19clearFrameErrorUARTEv + 0x0000000000002884 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002884 SERCOM::clearFrameErrorUART() + .text._ZN6SERCOM23isDataRegisterEmptyUARTEv + 0x0000000000002890 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002890 SERCOM::isDataRegisterEmptyUART() + .text._ZN6SERCOM12readDataUARTEv + 0x000000000000289a 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x000000000000289a SERCOM::readDataUART() + .text._ZN6SERCOM13writeDataUARTEh + 0x00000000000028a2 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000028a2 SERCOM::writeDataUART(unsigned char) + .text._ZN6SERCOM36enableDataRegisterEmptyInterruptUARTEv + 0x00000000000028b2 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000028b2 SERCOM::enableDataRegisterEmptyInterruptUART() + .text._ZN6SERCOM37disableDataRegisterEmptyInterruptUARTEv + 0x00000000000028ba 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000028ba SERCOM::disableDataRegisterEmptyInterruptUART() + *fill* 0x00000000000028c2 0x2 + .text._ZN6SERCOM14getSercomIndexEv + 0x00000000000028c4 0x5c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000028c4 SERCOM::getSercomIndex() + .text._ZN6SERCOM13initClockNVICEv + 0x0000000000002920 0x90 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x0000000000002920 SERCOM::initClockNVIC() + .text._ZN6SERCOM8initUARTE14SercomUartMode20SercomUartSampleRatem + 0x00000000000029b0 0x6c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x00000000000029b0 SERCOM::initUART(SercomUartMode, SercomUartSampleRate, unsigned long) + .text._ZN4UartcvbEv + 0x0000000000002a1c 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a1c Uart::operator bool() + .text._ZN4Uart5beginEm + 0x0000000000002a20 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a20 Uart::begin(unsigned long) + .text._ZN4Uart4peekEv + 0x0000000000002a30 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a30 Uart::peek() + .text._ZN4Uart3endEv + 0x0000000000002a4a 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a4a Uart::end() + .text._ZN4Uart15extractCharSizeEt + 0x0000000000002a6a 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a6a Uart::extractCharSize(unsigned short) + .text._ZN4Uart13extractParityEt + 0x0000000000002a92 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002a92 Uart::extractParity(unsigned short) + *fill* 0x0000000000002aa6 0x2 + .text._ZN4Uart5beginEmt + 0x0000000000002aa8 0xf8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002aa8 Uart::begin(unsigned long, unsigned short) + .text._ZN11RingBufferNILi256EEC2Ev + 0x0000000000002ba0 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002ba0 RingBufferN<256>::RingBufferN() + 0x0000000000002ba0 RingBufferN<256>::RingBufferN() + .text._ZN4UartC2EP6SERCOMhh11SercomRXPad15SercomUartTXPad + 0x0000000000002bbc 0x70 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002bbc Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad) + 0x0000000000002bbc Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad) + .text._ZN11RingBufferNILi256EE9availableEv + 0x0000000000002c2c 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c2c RingBufferN<256>::available() + .text._ZN4Uart5flushEv + 0x0000000000002c3e 0x1a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c3e Uart::flush() + .text._ZN4Uart9availableEv + 0x0000000000002c58 0xa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c58 Uart::available() + .text._ZN11RingBufferNILi256EE17availableForStoreEv + 0x0000000000002c62 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c62 RingBufferN<256>::availableForStore() + .text._ZN4Uart17availableForWriteEv + 0x0000000000002c82 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c82 Uart::availableForWrite() + .text._ZN4Uart10IrqHandlerEv + 0x0000000000002c8e 0xcc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002c8e Uart::IrqHandler() + *fill* 0x0000000000002d5a 0x2 + .text._ZN4Uart5writeEh + 0x0000000000002d5c 0xb4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002d5c Uart::write(unsigned char) + .text._ZN4Uart4readEv + 0x0000000000002e10 0x4c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x0000000000002e10 Uart::read() + .text._Z11initVariantv + 0x0000000000002e5c 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + 0x0000000000002e5c initVariant() + *fill* 0x0000000000002e5e 0x2 + .text.startup.main + 0x0000000000002e60 0x44 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + 0x0000000000002e60 main + .text._ZN5Print5writeEPKhj + 0x0000000000002ea4 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + 0x0000000000002ea4 Print::write(unsigned char const*, unsigned int) + .text._ZN26DoubleBufferedEPOutHandler4initEv + 0x0000000000002ec8 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000002ec8 DoubleBufferedEPOutHandler::init() + .text._ZL5utox8mPc + 0x0000000000002eca 0x26 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN26DoubleBufferedEPOutHandlerD2Ev + 0x0000000000002ef0 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000002ef0 DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() + 0x0000000000002ef0 DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() + .text._ZN26DoubleBufferedEPOutHandlerD0Ev + 0x0000000000002f04 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000002f04 DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() + *fill* 0x0000000000002f16 0x2 + .text._ZN14USBDeviceClass6initEPEmm.part.0 + 0x0000000000002f18 0xe8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._ZN7__GuardC2Ev + 0x0000000000003000 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003000 __Guard::__Guard() + 0x0000000000003000 __Guard::__Guard() + .text._ZN7__GuardD2Ev + 0x000000000000300e 0xe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x000000000000300e __Guard::~__Guard() + 0x000000000000300e __Guard::~__Guard() + .text._ZNK26DoubleBufferedEPOutHandler9availableEv + 0x000000000000301c 0x5e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x000000000000301c DoubleBufferedEPOutHandler::available() const + *fill* 0x000000000000307a 0x2 + .text._ZN26DoubleBufferedEPOutHandler7releaseEv + 0x000000000000307c 0x54 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x000000000000307c DoubleBufferedEPOutHandler::release() + .text._ZN26DoubleBufferedEPOutHandler4recvEPvm + 0x00000000000030d0 0x11a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000030d0 DoubleBufferedEPOutHandler::recv(void*, unsigned long) + .text._ZN26DoubleBufferedEPOutHandler14handleEndpointEv + 0x00000000000031ea 0xc2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000031ea DoubleBufferedEPOutHandler::handleEndpoint() + .text._ZN14USBDeviceClass14SendInterfacesEPm + 0x00000000000032ac 0x2e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000032ac USBDeviceClass::SendInterfaces(unsigned long*) + *fill* 0x00000000000032da 0x2 + .text._ZN14USBDeviceClass14handleEndpointEh + 0x00000000000032dc 0x44 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000032dc USBDeviceClass::handleEndpoint(unsigned char) + .text._ZN14USBDeviceClass4initEv + 0x0000000000003320 0xf0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003320 USBDeviceClass::init() + .text._ZN14USBDeviceClass6attachEv + 0x0000000000003410 0x34 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003410 USBDeviceClass::attach() + .text._ZN14USBDeviceClass10setAddressEm + 0x0000000000003444 0x44 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003444 USBDeviceClass::setAddress(unsigned long) + .text._ZN14USBDeviceClass25handleClassInterfaceSetupER8USBSetup + 0x0000000000003488 0x44 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003488 USBDeviceClass::handleClassInterfaceSetup(USBSetup&) + .text._ZN14USBDeviceClass6initEPEmm + 0x00000000000034cc 0xec /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000034cc USBDeviceClass::initEP(unsigned long, unsigned long) + .text._ZN14USBDeviceClass13initEndpointsEv + 0x00000000000035b8 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000035b8 USBDeviceClass::initEndpoints() + .text._ZN14USBDeviceClass9availableEm + 0x00000000000035dc 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000035dc USBDeviceClass::available(unsigned long) + .text._ZN14USBDeviceClass5flushEm + 0x0000000000003608 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003608 USBDeviceClass::flush(unsigned long) + .text._ZN14USBDeviceClass14armRecvCtrlOUTEm + 0x0000000000003634 0x5c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003634 USBDeviceClass::armRecvCtrlOUT(unsigned long) + .text._ZN14USBDeviceClass11recvControlEPvm + 0x0000000000003690 0x3c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003690 USBDeviceClass::recvControl(void*, unsigned long) + .text._ZN14USBDeviceClass7armRecvEm + 0x00000000000036cc 0x38 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000036cc USBDeviceClass::armRecv(unsigned long) + .text._ZN14USBDeviceClass4recvEmPvm + 0x0000000000003704 0xd8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003704 USBDeviceClass::recv(unsigned long, void*, unsigned long) + .text._ZN14USBDeviceClass4recvEm + 0x00000000000037dc 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000037dc USBDeviceClass::recv(unsigned long) + .text._ZN14USBDeviceClass4sendEmPKvm + 0x00000000000037f8 0x110 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000037f8 USBDeviceClass::send(unsigned long, void const*, unsigned long) + .text._ZN14USBDeviceClass7armSendEmPKvm + 0x0000000000003908 0x48 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003908 USBDeviceClass::armSend(unsigned long, void const*, unsigned long) + .text._ZN14USBDeviceClass11sendControlEPKvm + 0x0000000000003950 0x54 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003950 USBDeviceClass::sendControl(void const*, unsigned long) + .text._ZN14USBDeviceClass20sendStringDescriptorEPKhh + 0x00000000000039a4 0x68 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000039a4 USBDeviceClass::sendStringDescriptor(unsigned char const*, unsigned char) + .text._ZN14USBDeviceClass17sendConfigurationEm + 0x0000000000003a0c 0x80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003a0c USBDeviceClass::sendConfiguration(unsigned long) + .text._ZN14USBDeviceClass14sendDescriptorER8USBSetup + 0x0000000000003a8c 0xe4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003a8c USBDeviceClass::sendDescriptor(USBSetup&) + .text._ZN14USBDeviceClass19handleStandardSetupER8USBSetup + 0x0000000000003b70 0x118 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003b70 USBDeviceClass::handleStandardSetup(USBSetup&) + .text._ZN14USBDeviceClass10ISRHandlerEv + 0x0000000000003c88 0x150 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003c88 USBDeviceClass::ISRHandler() + .text.UDD_Handler + 0x0000000000003dd8 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000000003dd8 UDD_Handler + .text.startup._GLOBAL__sub_I_usbd + 0x0000000000003de8 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .text._Znwj 0x0000000000003df8 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + 0x0000000000003df8 operator new(unsigned int) + .text._ZdlPv 0x0000000000003e00 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + 0x0000000000003e00 operator delete(void*) + .text._ZN7Serial_17availableForWriteEv + 0x0000000000003e08 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e08 Serial_::availableForWrite() + .text._ZN7Serial_5writeEh + 0x0000000000003e0c 0x14 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e0c Serial_::write(unsigned char) + .text._ZN7Serial_9availableEv + 0x0000000000003e20 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e20 Serial_::available() + .text._ZN7Serial_5flushEv + 0x0000000000003e2c 0xc /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e2c Serial_::flush() + .text._ZN7Serial_5writeEPKhj + 0x0000000000003e38 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e38 Serial_::write(unsigned char const*, unsigned int) + .text._ZN7Serial_4peekEv + 0x0000000000003e64 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e64 Serial_::peek() + .text._ZN7Serial_4readEv + 0x0000000000003e80 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003e80 Serial_::read() + .text._Z16CDC_GetInterfacePh + 0x0000000000003ea4 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003ea4 CDC_GetInterface(unsigned char*) + .text._Z9CDC_SetupR8USBSetup + 0x0000000000003ec0 0x7c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000003ec0 CDC_Setup(USBSetup&) + .text.startup._GLOBAL__sub_I__Z17_CDC_GetInterfacev + 0x0000000000003f3c 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .text._ZN13PluggableUSB_12getInterfaceEPh + 0x0000000000003f64 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + 0x0000000000003f64 PluggableUSB_::getInterface(unsigned char*) + .text._ZN13PluggableUSB_13getDescriptorER8USBSetup + 0x0000000000003f8c 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + 0x0000000000003f8c PluggableUSB_::getDescriptor(USBSetup&) + .text._ZN13PluggableUSB_5setupER8USBSetup + 0x0000000000003fac 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + 0x0000000000003fac PluggableUSB_::setup(USBSetup&) + .text._Z12PluggableUSBv + 0x0000000000003fcc 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + 0x0000000000003fcc PluggableUSB() + .text._ZN20USBDevice_SAMD21G18x5resetEv + 0x0000000000003ff4 0x2a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + 0x0000000000003ff4 USBDevice_SAMD21G18x::reset() + *fill* 0x000000000000401e 0x2 + .text._ZN20USBDevice_SAMD21G18x9calibrateEv + 0x0000000000004020 0x60 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + 0x0000000000004020 USBDevice_SAMD21G18x::calibrate() + .text 0x0000000000004080 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + 0x0000000000004080 __gnu_thumb1_case_uqi + .text 0x0000000000004094 0x114 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + 0x0000000000004094 __udivsi3 + 0x0000000000004094 __aeabi_uidiv + 0x00000000000041a0 __aeabi_uidivmod + .text 0x00000000000041a8 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + 0x00000000000041a8 __aeabi_ldiv0 + 0x00000000000041a8 __aeabi_idiv0 + .text.__libc_init_array + 0x00000000000041ac 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + 0x00000000000041ac __libc_init_array + .text.malloc 0x00000000000041f4 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + 0x00000000000041f4 malloc + .text.free 0x0000000000004208 0x14 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + 0x0000000000004208 free + .text.memcpy 0x000000000000421c 0x12 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + 0x000000000000421c memcpy + .text.memset 0x000000000000422e 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + 0x000000000000422e memset + *fill* 0x000000000000423e 0x2 + .text._free_r 0x0000000000004240 0x94 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + 0x0000000000004240 _free_r + .text._malloc_r + 0x00000000000042d4 0xbc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + 0x00000000000042d4 _malloc_r + .text._sbrk_r 0x0000000000004390 0x24 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + 0x0000000000004390 _sbrk_r + .text 0x00000000000043b4 0xe /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + 0x00000000000043b4 strlen + *fill* 0x00000000000043c2 0x2 + .text.__malloc_lock + 0x00000000000043c4 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + 0x00000000000043c4 __malloc_lock + .text.__malloc_unlock + 0x00000000000043d4 0x10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + 0x00000000000043d4 __malloc_unlock + .text.__retarget_lock_acquire_recursive + 0x00000000000043e4 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + 0x00000000000043e4 __retarget_lock_acquire_recursive + .text.__retarget_lock_release_recursive + 0x00000000000043e6 0x2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + 0x00000000000043e6 __retarget_lock_release_recursive + .text._sbrk 0x00000000000043e8 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + 0x00000000000043e8 _sbrk + *(.init) + .init 0x0000000000004404 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + 0x0000000000004404 _init + .init 0x0000000000004408 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + *(.fini) + .fini 0x0000000000004410 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + 0x0000000000004410 _fini + .fini 0x0000000000004414 0x8 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) + *(SORT_BY_NAME(.ctors.*)) + *(.ctors) + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) + *(SORT_BY_NAME(.dtors.*)) + *(.dtors) + *(.rodata*) + .rodata.g_APinDescription + 0x000000000000441c 0x450 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x000000000000441c g_APinDescription + .rodata._ZL10sercomData + 0x000000000000486c 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .rodata._ZTV4Uart + 0x000000000000489c 0x34 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x000000000000489c vtable for Uart + .rodata._ZN14USBDeviceClass19handleStandardSetupER8USBSetup.str1.1 + 0x00000000000048d0 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + *fill* 0x00000000000048d1 0x3 + .rodata._ZTV26DoubleBufferedEPOutHandler + 0x00000000000048d4 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000000048d4 vtable for DoubleBufferedEPOutHandler + .rodata._ZL14STRING_PRODUCT + 0x00000000000048f4 0xb /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + *fill* 0x00000000000048ff 0x1 + .rodata._ZL15STRING_LANGUAGE + 0x0000000000004900 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .rodata._ZL19STRING_MANUFACTURER + 0x0000000000004904 0x9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .rodata._ZL21USB_DeviceDescriptorB + 0x000000000000490d 0x12 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + *fill* 0x000000000000491f 0x1 + .rodata._ZTV7Serial_ + 0x0000000000004920 0x24 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000000004920 vtable for Serial_ + *(.eh_frame*) + .eh_frame 0x0000000000004944 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .eh_frame 0x0000000000004944 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o + +.glue_7 0x0000000000004948 0x0 + .glue_7 0x0000000000004948 0x0 linker stubs + +.glue_7t 0x0000000000004948 0x0 + .glue_7t 0x0000000000004948 0x0 linker stubs + +.vfp11_veneer 0x0000000000004948 0x0 + .vfp11_veneer 0x0000000000004948 0x0 linker stubs + +.v4_bx 0x0000000000004948 0x0 + .v4_bx 0x0000000000004948 0x0 linker stubs + +.iplt 0x0000000000004948 0x0 + .iplt 0x0000000000004948 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + +.rel.dyn 0x0000000000004948 0x0 + .rel.iplt 0x0000000000004948 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + +.ARM.extab + *(.ARM.extab* .gnu.linkonce.armextab.*) + 0x0000000000004948 __exidx_start = . + +.ARM.exidx + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + 0x0000000000004948 __exidx_end = . + 0x0000000000004948 __etext = . + +.data 0x0000000020000000 0x100 load address 0x0000000000004948 + 0x0000000020000000 __data_start__ = . + *(vtable) + *(.data*) + .data.SystemCoreClock + 0x0000000020000000 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + 0x0000000020000000 SystemCoreClock + .data._ZL5ticks + 0x0000000020000004 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .data.EndPoints + 0x0000000020000008 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000008 EndPoints + .data._ZL10breakValue + 0x0000000020000030 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .data._ZL12_usbLineInfo + 0x0000000020000034 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .data._ZL13_cdcInterface + 0x000000002000003c 0x42 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + *fill* 0x000000002000007e 0x2 + .data._serialPeek + 0x0000000020000080 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000020000080 _serialPeek + .data._impure_ptr + 0x0000000020000084 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + 0x0000000020000084 _impure_ptr + .data.impure_data + 0x0000000020000088 0x60 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + 0x00000000200000e8 . = ALIGN (0x4) + 0x00000000200000e8 PROVIDE (__preinit_array_start = .) + *(.preinit_array) + 0x00000000200000e8 PROVIDE (__preinit_array_end = .) + 0x00000000200000e8 . = ALIGN (0x4) + 0x00000000200000e8 PROVIDE (__init_array_start = .) + *(SORT_BY_NAME(.init_array.*)) + *(.init_array) + .init_array 0x00000000200000e8 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .init_array 0x00000000200000ec 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .init_array 0x00000000200000f0 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .init_array 0x00000000200000f4 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x00000000200000f8 PROVIDE (__init_array_end = .) + 0x00000000200000f8 . = ALIGN (0x4) + [!provide] PROVIDE (__fini_array_start = .) + *(SORT_BY_NAME(.fini_array.*)) + *(.fini_array) + .fini_array 0x00000000200000f8 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + [!provide] PROVIDE (__fini_array_end = .) + *(.jcr*) + 0x0000000020000100 . = ALIGN (0x10) + *fill* 0x00000000200000fc 0x4 + 0x0000000020000100 __data_end__ = . + +.igot.plt 0x0000000020000100 0x0 load address 0x0000000000004a48 + .igot.plt 0x0000000020000100 0x0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + +.bss 0x0000000020000100 0xab4 load address 0x0000000000004a48 + 0x0000000020000100 . = ALIGN (0x4) + 0x0000000020000100 __bss_start__ = . + *(.bss*) + .bss 0x0000000020000100 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .bss.Serial1 0x000000002000011c 0x23c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x000000002000011c Serial1 + .bss.Serial5 0x0000000020000358 0x23c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x0000000020000358 Serial5 + .bss.sercom0 0x0000000020000594 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x0000000020000594 sercom0 + .bss.sercom1 0x0000000020000598 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x0000000020000598 sercom1 + .bss.sercom2 0x000000002000059c 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x000000002000059c sercom2 + .bss.sercom3 0x00000000200005a0 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x00000000200005a0 sercom3 + .bss.sercom4 0x00000000200005a4 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x00000000200005a4 sercom4 + .bss.sercom5 0x00000000200005a8 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x00000000200005a8 sercom5 + .bss.usb_isr 0x00000000200005ac 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .bss._ulTickCount + 0x00000000200005b0 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .bss.USBDevice + 0x00000000200005b4 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x00000000200005b4 USBDevice + *fill* 0x00000000200005b5 0x3 + .bss._ZL10epHandlers + 0x00000000200005b8 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL10rxLEDPulse + 0x00000000200005d4 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL10txLEDPulse + 0x00000000200005d5 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL14isEndpointHalt + 0x00000000200005d6 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL20LastTransmitTimedOut + 0x00000000200005d7 0x7 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL21isRemoteWakeUpEnabled + 0x00000000200005de 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + *fill* 0x00000000200005df 0x1 + .bss._ZL22udd_ep_in_cache_buffer + 0x00000000200005e0 0x1c0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._ZL23udd_ep_out_cache_buffer + 0x00000000200007a0 0x1c0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .bss._dry_run 0x0000000020000960 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000960 _dry_run + .bss._pack_buffer + 0x0000000020000961 0x100 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000961 _pack_buffer + .bss._pack_message + 0x0000000020000a61 0x1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000a61 _pack_message + .bss._pack_size + 0x0000000020000a62 0x2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000a62 _pack_size + .bss._usbConfiguration + 0x0000000020000a64 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000a64 _usbConfiguration + .bss._usbSetInterface + 0x0000000020000a68 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000a68 _usbSetInterface + .bss.usbd 0x0000000020000a6c 0x104 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x0000000020000a6c usbd + .bss.Serial 0x0000000020000b70 0x1c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x0000000020000b70 Serial + .bss._ZGVZ12PluggableUSBvE3obj + 0x0000000020000b8c 0x4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .bss._ZZ12PluggableUSBvE3obj + 0x0000000020000b90 0x8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .bss.__malloc_free_list + 0x0000000020000b98 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + 0x0000000020000b98 __malloc_free_list + .bss.__malloc_sbrk_start + 0x0000000020000b9c 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + 0x0000000020000b9c __malloc_sbrk_start + .bss.heap_end.4144 + 0x0000000020000ba0 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + *(COMMON) + COMMON 0x0000000020000ba4 0x4 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + 0x0000000020000ba4 errno + COMMON 0x0000000020000ba8 0x9 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + 0x0000000020000ba8 __lock___atexit_recursive_mutex + 0x0000000020000ba9 __lock___arc4random_mutex + 0x0000000020000baa __lock___env_recursive_mutex + 0x0000000020000bab __lock___sinit_recursive_mutex + 0x0000000020000bac __lock___malloc_recursive_mutex + 0x0000000020000bad __lock___at_quick_exit_mutex + 0x0000000020000bae __lock___dd_hash_mutex + 0x0000000020000baf __lock___tz_mutex + 0x0000000020000bb0 __lock___sfp_recursive_mutex + 0x0000000020000bb4 . = ALIGN (0x4) + *fill* 0x0000000020000bb1 0x3 + 0x0000000020000bb4 __bss_end__ = . + +.heap 0x0000000020000bb4 0x0 + 0x0000000020000bb4 __end__ = . + 0x0000000020000bb4 PROVIDE (end = .) + *(.heap*) + 0x0000000020000bb4 __HeapLimit = . + +.stack_dummy 0x0000000020000bb4 0x0 + *(.stack*) + 0x0000000020008000 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) + 0x0000000020008000 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) + 0x0000000020008000 PROVIDE (__stack = __StackTop) + 0x0000000020007fff __ram_end__ = ((ORIGIN (RAM) + LENGTH (RAM)) - 0x1) + 0x0000000000000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) +OUTPUT(/tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch_simple.ino.elf elf32-littlearm) + +.ARM.attributes + 0x0000000000000000 0x2d + .ARM.attributes + 0x0000000000000000 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + .ARM.attributes + 0x000000000000001e 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o + .ARM.attributes + 0x000000000000004a 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .ARM.attributes + 0x0000000000000076 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .ARM.attributes + 0x00000000000000a2 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .ARM.attributes + 0x00000000000000ce 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .ARM.attributes + 0x00000000000000fa 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .ARM.attributes + 0x0000000000000126 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .ARM.attributes + 0x0000000000000152 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .ARM.attributes + 0x000000000000017e 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .ARM.attributes + 0x00000000000001aa 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .ARM.attributes + 0x00000000000001d6 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .ARM.attributes + 0x0000000000000202 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .ARM.attributes + 0x000000000000022e 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .ARM.attributes + 0x000000000000025a 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .ARM.attributes + 0x0000000000000286 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .ARM.attributes + 0x00000000000002b2 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .ARM.attributes + 0x00000000000002de 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .ARM.attributes + 0x000000000000030a 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .ARM.attributes + 0x0000000000000336 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .ARM.attributes + 0x0000000000000362 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .ARM.attributes + 0x000000000000038e 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + .ARM.attributes + 0x00000000000003ba 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .ARM.attributes + 0x00000000000003d8 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + .ARM.attributes + 0x00000000000003f6 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + .ARM.attributes + 0x0000000000000414 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .ARM.attributes + 0x0000000000000440 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .ARM.attributes + 0x000000000000046c 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + .ARM.attributes + 0x0000000000000498 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x00000000000004c4 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .ARM.attributes + 0x00000000000004f0 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + .ARM.attributes + 0x000000000000051c 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + .ARM.attributes + 0x0000000000000548 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + .ARM.attributes + 0x0000000000000574 0x1c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + .ARM.attributes + 0x0000000000000590 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + .ARM.attributes + 0x00000000000005bc 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .ARM.attributes + 0x00000000000005e8 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .ARM.attributes + 0x0000000000000614 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .ARM.attributes + 0x0000000000000640 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtend.o + .ARM.attributes + 0x000000000000066c 0x1e /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtn.o + +.comment 0x0000000000000000 0x79 + .comment 0x0000000000000000 0x79 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + 0x7a (size before relaxing) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .comment 0x0000000000000079 0x7a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_info 0x0000000000000000 0x7001b + .debug_info 0x0000000000000000 0x77f6 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_info 0x00000000000077f6 0x6cf9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_info 0x000000000000e4ef 0x121b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_info 0x000000000000f70a 0x14c5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_info 0x0000000000010bcf 0x67 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_info 0x0000000000010c36 0x3863 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_info 0x0000000000014499 0x307e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_info 0x0000000000017517 0x5505 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_info 0x000000000001ca1c 0x19bd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_info 0x000000000001e3d9 0x194b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_info 0x000000000001fd24 0x6ecd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_info 0x0000000000026bf1 0x8091 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_info 0x000000000002ec82 0x9cbe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_info 0x0000000000038940 0x68d4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_info 0x000000000003f214 0x91a9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_info 0x00000000000483bd 0xe9f7 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_info 0x0000000000056db4 0x1111 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_info 0x0000000000057ec5 0x8e13 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_info 0x0000000000060cd8 0x6d7d /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_info 0x0000000000067a55 0x85c6 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_abbrev 0x0000000000000000 0x7a2b + .debug_abbrev 0x0000000000000000 0x729 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_abbrev 0x0000000000000729 0x5f0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_abbrev 0x0000000000000d19 0x303 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_abbrev 0x000000000000101c 0x33a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_abbrev 0x0000000000001356 0x4d /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_abbrev 0x00000000000013a3 0x2f7 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_abbrev 0x000000000000169a 0x3e8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_abbrev 0x0000000000001a82 0x554 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_abbrev 0x0000000000001fd6 0x389 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_abbrev 0x000000000000235f 0x351 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_abbrev 0x00000000000026b0 0x750 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_abbrev 0x0000000000002e00 0x974 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_abbrev 0x0000000000003774 0xa49 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_abbrev 0x00000000000041bd 0x683 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_abbrev 0x0000000000004840 0x9ae /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_abbrev 0x00000000000051ee 0xcf4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_abbrev 0x0000000000005ee2 0x350 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_abbrev 0x0000000000006232 0x9bf /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_abbrev 0x0000000000006bf1 0x778 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_abbrev 0x0000000000007369 0x6c2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_aranges 0x0000000000000000 0x8a0 + .debug_aranges + 0x0000000000000000 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_aranges + 0x0000000000000028 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_aranges + 0x0000000000000058 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_aranges + 0x0000000000000098 0x38 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_aranges + 0x00000000000000d0 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_aranges + 0x0000000000000100 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_aranges + 0x0000000000000120 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_aranges + 0x0000000000000140 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_aranges + 0x0000000000000180 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_aranges + 0x00000000000001b0 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_aranges + 0x00000000000001d0 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_aranges + 0x0000000000000200 0x200 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_aranges + 0x0000000000000400 0xb0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_aranges + 0x00000000000004b0 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_aranges + 0x00000000000004d8 0x108 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_aranges + 0x00000000000005e0 0x180 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_aranges + 0x0000000000000760 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_aranges + 0x0000000000000788 0xa0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_aranges + 0x0000000000000828 0x50 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_aranges + 0x0000000000000878 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_ranges 0x0000000000000000 0x1618 + .debug_ranges 0x0000000000000000 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_ranges 0x0000000000000018 0x38 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_ranges 0x0000000000000050 0x30 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_ranges 0x0000000000000080 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_ranges 0x00000000000000a8 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_ranges 0x00000000000000c8 0x10 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_ranges 0x00000000000000d8 0x80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_ranges 0x0000000000000158 0xd8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_ranges 0x0000000000000230 0x20 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_ranges 0x0000000000000250 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_ranges 0x0000000000000278 0x50 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_ranges 0x00000000000002c8 0x320 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_ranges 0x00000000000005e8 0x260 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_ranges 0x0000000000000848 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_ranges 0x0000000000000860 0x208 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_ranges 0x0000000000000a68 0x9f8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_ranges 0x0000000000001460 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_ranges 0x0000000000001478 0x128 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_ranges 0x00000000000015a0 0x60 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_ranges 0x0000000000001600 0x18 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_line 0x0000000000000000 0xc674 + .debug_line 0x0000000000000000 0x707 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_line 0x0000000000000707 0x63d /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_line 0x0000000000000d44 0x451 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_line 0x0000000000001195 0x655 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_line 0x00000000000017ea 0xc5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_line 0x00000000000018af 0x6aa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_line 0x0000000000001f59 0x6c9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_line 0x0000000000002622 0xb7e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_line 0x00000000000031a0 0x5af /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_line 0x000000000000374f 0x545 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_line 0x0000000000003c94 0x840 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_line 0x00000000000044d4 0x161b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_line 0x0000000000005aef 0xf07 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_line 0x00000000000069f6 0x721 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_line 0x0000000000007117 0xe99 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_line 0x0000000000007fb0 0x27da /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_line 0x000000000000a78a 0x3c1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_line 0x000000000000ab4b 0xabb /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_line 0x000000000000b606 0x923 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_line 0x000000000000bf29 0x74b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +.debug_str 0x0000000000000000 0xa2b2 + .debug_str 0x0000000000000000 0x4322 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + 0x4bd2 (size before relaxing) + .debug_str 0x0000000000004322 0x8fe /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + 0x382f (size before relaxing) + .debug_str 0x0000000000004c20 0x4cd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + 0xff0 (size before relaxing) + .debug_str 0x00000000000050ed 0xe7 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + 0xef2 (size before relaxing) + .debug_str 0x00000000000051d4 0x6a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + 0x193 (size before relaxing) + .debug_str 0x000000000000523e 0x854 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + 0x172d (size before relaxing) + .debug_str 0x0000000000005a92 0x3c1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + 0x1827 (size before relaxing) + .debug_str 0x0000000000005e53 0x182 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + 0x1c86 (size before relaxing) + .debug_str 0x0000000000005fd5 0x102 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + 0xff8 (size before relaxing) + .debug_str 0x00000000000060d7 0x6e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + 0xfe5 (size before relaxing) + .debug_str 0x0000000000006145 0x1a5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + 0x430b (size before relaxing) + .debug_str 0x00000000000062ea 0x2c0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + 0x45ba (size before relaxing) + .debug_str 0x00000000000065aa 0xc37 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + 0x5bdc (size before relaxing) + .debug_str 0x00000000000071e1 0xa6 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + 0x40d3 (size before relaxing) + .debug_str 0x0000000000007287 0x40b /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + 0x4fe9 (size before relaxing) + .debug_str 0x0000000000007692 0x24fd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + 0x730a (size before relaxing) + .debug_str 0x0000000000009b8f 0x83 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + 0x821 (size before relaxing) + .debug_str 0x0000000000009c12 0x571 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + 0x5905 (size before relaxing) + .debug_str 0x000000000000a183 0x87 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + 0x4363 (size before relaxing) + .debug_str 0x000000000000a20a 0xa8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + 0x5be9 (size before relaxing) + +.debug_frame 0x0000000000000000 0x1784 + .debug_frame 0x0000000000000000 0x48 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + .debug_frame 0x0000000000000048 0x64 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_frame 0x00000000000000ac 0x78 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_frame 0x0000000000000124 0x78 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_frame 0x000000000000019c 0x40 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + .debug_frame 0x00000000000001dc 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_frame 0x0000000000000208 0x28 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_frame 0x0000000000000230 0x80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_frame 0x00000000000002b0 0x60 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_frame 0x0000000000000310 0x2c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_frame 0x000000000000033c 0x48 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + .debug_frame 0x0000000000000384 0x4a0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_frame 0x0000000000000824 0x1c4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_frame 0x00000000000009e8 0x38 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + .debug_frame 0x0000000000000a20 0x334 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_frame 0x0000000000000d54 0x474 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_frame 0x00000000000011c8 0x70 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_frame 0x0000000000001238 0x188 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_frame 0x00000000000013c0 0xc8 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_frame 0x0000000000001488 0x48 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + .debug_frame 0x00000000000014d0 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + .debug_frame 0x00000000000014f0 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .debug_frame 0x000000000000151c 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + .debug_frame 0x000000000000155c 0x28 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .debug_frame 0x0000000000001584 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .debug_frame 0x00000000000015a4 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + .debug_frame 0x00000000000015d0 0x30 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + .debug_frame 0x0000000000001600 0x2c /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + .debug_frame 0x000000000000162c 0x40 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + .debug_frame 0x000000000000166c 0x48 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + .debug_frame 0x00000000000016b4 0xb0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .debug_frame 0x0000000000001764 0x20 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + +.debug_loc 0x0000000000000000 0x7788 + .debug_loc 0x0000000000000000 0x2e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + .debug_loc 0x000000000000002e 0xa5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + .debug_loc 0x00000000000000d3 0x12a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + .debug_loc 0x00000000000001fd 0x47 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + .debug_loc 0x0000000000000244 0xd9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + .debug_loc 0x000000000000031d 0x51c /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + .debug_loc 0x0000000000000839 0x13e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + .debug_loc 0x0000000000000977 0x14e /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + .debug_loc 0x0000000000000ac5 0xe80 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + .debug_loc 0x0000000000001945 0xc6d /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + .debug_loc 0x00000000000025b2 0x1755 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + .debug_loc 0x0000000000003d07 0x3092 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + .debug_loc 0x0000000000006d99 0x4a /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + .debug_loc 0x0000000000006de3 0x657 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + .debug_loc 0x000000000000743a 0x295 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + .debug_loc 0x00000000000076cf 0xb9 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + +Cross Reference Table + +Symbol File +AC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +ADC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +CDC_GetInterface(unsigned char*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +CDC_Setup(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DAC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +DMAC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +DoubleBufferedEPOutHandler::available() const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::handleEndpoint() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::init() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::recv(void*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::release() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +DoubleBufferedEPOutHandler::~DoubleBufferedEPOutHandler() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +Dummy_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +EIC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +EVSYS_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +EndPoints /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) +HardFault_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +I2S_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +NMI_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +NVMCTRL_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +PM_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +PTC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +PendSV_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +PluggableUSB() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +PluggableUSB_::PluggableUSB_() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) +PluggableUSB_::PluggableUSB_() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) +PluggableUSB_::getDescriptor(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +PluggableUSB_::getInterface(unsigned char*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +PluggableUSB_::getShortName(char*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) +PluggableUSB_::plug(PluggableUSBModule*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) +PluggableUSB_::setup(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(PluggableUSB.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +Print::availableForWrite() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::flush() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(Printable const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(double, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(int, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(long, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(unsigned char, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(unsigned int, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::print(unsigned long, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::printFloat(double, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::printNumber(unsigned long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::printf(char const*, ...) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(Printable const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(double, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(int, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(long, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(unsigned char, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(unsigned int, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::println(unsigned long, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::write(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +Print::write(unsigned char const*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +RTC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +Reset_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +RingBufferN<256>::RingBufferN() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +RingBufferN<256>::RingBufferN() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +RingBufferN<256>::available() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +RingBufferN<256>::availableForStore() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM0_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +SERCOM1_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SERCOM2_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SERCOM3_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SERCOM4_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SERCOM5_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +SERCOM::SERCOM(Sercom*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +SERCOM::SERCOM(Sercom*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::acknowledgeUARTError() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::availableDataUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::availableWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::calculateBaudrateSynchronous(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::clearFrameErrorUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::clearStatusUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::disableDataRegisterEmptyInterruptUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::disableSPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::disableWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::enableDataRegisterEmptyInterruptUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::enableSPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::enableUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::enableWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::flushUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::getDataOrderSPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::getSercomIndex() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initClockNVIC() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initFrame(SercomUartCharSize, SercomDataOrder, SercomParityMode, SercomNumberStopBit) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::initMasterWIRE(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initPads(SercomUartTXPad, SercomRXPad) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::initSPI(SercomSpiTXPad, SercomRXPad, SercomSpiCharSize, SercomDataOrder) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initSPIClock(SercomSpiClockMode, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initSlaveWIRE(unsigned char, bool) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::initUART(SercomUartMode, SercomUartSampleRate, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::isAddressMatch() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isArbLostWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBufferOverflowErrorSPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBufferOverflowErrorUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBusBusyWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBusIdleWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBusOwnerWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isBusUnknownWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isDataReadyWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isDataRegisterEmptySPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isDataRegisterEmptyUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::isFrameErrorUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::isMasterReadOperationWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isMasterWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isParityErrorUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isRXNackReceivedWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isRestartDetectedWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isSlaveWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isStopDetectedWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::isUARTError() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::prepareAckBitWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::prepareCommandBitsWire(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::prepareNackBitWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::readDataUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::readDataWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::resetSPI() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::resetUART() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SERCOM::resetWIRE() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::sendDataMasterWIRE(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::sendDataSlaveWIRE(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::setBaudrateSPI(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::setClockModeSPI(SercomSpiClockMode) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::setDataOrderSPI(SercomDataOrder) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::startTransmissionWIRE(unsigned char, SercomWireReadWriteFlag) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::transferDataSPI(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +SERCOM::writeDataUART(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +SVC_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SYSCTRL_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +Serial /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +Serial5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +Serial_::available() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::availableForWrite() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::begin(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::begin(unsigned long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::end() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::flush() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::operator bool() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::peek() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::read() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::readBytes(char*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::write(unsigned char const*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +Serial_::write(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +String::String(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(String&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(String&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(StringSumHelper&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(StringSumHelper&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o +String::String(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(double, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(double, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(float, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(float, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(int, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(int, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned char, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned char, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned int, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned int, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::String(unsigned long, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::StringIfHelper() const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::changeBuffer(unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::charAt(unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::compareTo(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(char const*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(double) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(float) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::concat(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::copy(__FlashStringHelper const*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::copy(char const*, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::endsWith(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::equals(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::equals(char const*) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::equalsIgnoreCase(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::getBytes(unsigned char*, unsigned int, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::indexOf(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::indexOf(String const&, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::indexOf(char) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::indexOf(char, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::invalidate() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::lastIndexOf(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::lastIndexOf(String const&, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::lastIndexOf(char) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::lastIndexOf(char, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::move(String&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator<(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator<=(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator=(String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator=(String&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator=(StringSumHelper&&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator=(__FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator=(char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator>(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator>=(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator[](unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::operator[](unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::remove(unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::remove(unsigned int, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::replace(String const&, String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::replace(char, char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::reserve(unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::setCharAt(unsigned int, char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::startsWith(String const&) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::startsWith(String const&, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::substring(unsigned int, unsigned int) const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::toDouble() const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::toFloat() const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::toInt() const /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::toLowerCase() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::toUpperCase() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::trim() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::~String() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +String::~String() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +SysTick_DefaultHandler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SysTick_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +SystemCoreClock /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) +SystemInit /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(startup.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TC3_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TC4_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TC5_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TC6_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TC7_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TCC0_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TCC1_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +TCC2_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +UDD_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDevice /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +USBDeviceClass::ISRHandler() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::SendInterfaces(unsigned long*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::armRecv(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::armRecvCtrlOUT(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::armSend(unsigned long, void const*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::attach() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +USBDeviceClass::available(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::configured() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::connected() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::detach() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::end() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::flush(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::handleClassInterfaceSetup(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::handleEndpoint(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::handleStandardSetup(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::init() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +USBDeviceClass::initEP(unsigned long, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::initEndpoints() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::packMessages(bool) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::recv(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::recv(unsigned long, void*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::recvControl(void*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::send(unsigned long, void const*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::sendConfiguration(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::sendControl(void const*, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +USBDeviceClass::sendDescriptor(USBSetup&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::sendStringDescriptor(unsigned char const*, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::sendZlp(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::setAddress(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::setHandler(unsigned long, EPHandler*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::stall(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDeviceClass::standby() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDevice_SAMD21G18x::calibrate() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USBDevice_SAMD21G18x::reset() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +USB_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +USB_SetHandler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +Uart::IrqHandler() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad, unsigned char, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::Uart(SERCOM*, unsigned char, unsigned char, SercomRXPad, SercomUartTXPad, unsigned char, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::available() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::availableForWrite() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::begin(unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::begin(unsigned long, unsigned short) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::end() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::extractCharSize(unsigned short) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::extractNbStopBit(unsigned short) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::extractParity(unsigned short) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::flush() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::operator bool() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::peek() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::read() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +Uart::write(unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +WDT_Handler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +_Balloc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_Bfree /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_CDC_GetInterface() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +_CDC_GetInterfaceLength() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +_C_numeric_locale /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_PathLocale /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +__Guard::__Guard() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +__Guard::__Guard() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +__Guard::~__Guard() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +__Guard::~__Guard() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +__StackTop /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +__aeabi_cdcmpeq /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__aeabi_cdcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__aeabi_cdrcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__aeabi_cfcmpeq /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_cfcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_cfrcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_d2f /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(truncdfsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +__aeabi_d2iz /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) +__aeabi_d2lz /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__aeabi_d2uiz /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_d2ulz /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) +__aeabi_dadd /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dcmpeq /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +__aeabi_dcmpge /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) +__aeabi_dcmpgt /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dcmplt /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dcmpun /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unorddf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_ddiv /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dmul /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_dsub /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_f2d /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +__aeabi_fcmpeq /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_fcmpge /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_fcmpgt /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_fcmple /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__aeabi_fcmplt /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__aeabi_fcmpun /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(unordsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__aeabi_i2d /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) +__aeabi_idiv /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) +__aeabi_idiv0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) +__aeabi_idivmod /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +__aeabi_l2d /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__aeabi_ldiv0 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) +__aeabi_ui2d /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__aeabi_uidiv /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SERCOM.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) +__aeabi_uidivmod /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) +__any_on /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) +__ascii_mbtowc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +__ascii_wctomb /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +__b2d /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) +__bss_end__ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +__bss_start__ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +__call_exitprocs /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) +__clzsi2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(extendsfdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(adddf3.o) +__copybits /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__cvt /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +__cxa_deleted_virtual /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) +__cxa_pure_virtual /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(abi.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +__d2b /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__data_end__ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +__data_start__ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +__deregister_frame_info /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o +__divsi3 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) +__dso_handle /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o +__eqdf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__eqsf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__etext /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +__exponent /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +__fixdfdi /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixdfdi.o) +__fixunsdfdi /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfdi.o) +__fixunsdfsi /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) +__floatdidf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_floatdidf.o) +__gedf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__gesf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__gethex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__global_locale /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__gnu_thumb1_case_shi /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) +__gnu_thumb1_case_uqi /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +__gtdf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) +__gtsf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(gesf2.o) +__hexdig_fun /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) +__hexnan /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__hi0bits /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) +__i2b /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__init_array_end /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) +__init_array_start /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) +__ledf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) +__lesf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpsf2.o) +__libc_fini_array /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +__libc_init_array /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +__lo0bits /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) +__locale_mb_cur_max /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +__localeconv_l /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) +__lock___arc4random_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___at_quick_exit_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___atexit_recursive_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___dd_hash_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___env_recursive_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___malloc_recursive_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) +__lock___sfp_recursive_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___sinit_recursive_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___tz_mutex /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lshift /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__ltdf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) +__ltsf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(lesf2.o) +__malloc_free_list /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) +__malloc_lock /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) +__malloc_sbrk_start /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) +__malloc_unlock /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) +__match /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-hexnan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__mcmp /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__mdiff /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__mprec_bigtens /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__mprec_tens /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__mprec_tinytens /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) +__multadd /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) +__multiply /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__nedf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) +__nesf2 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(eqsf2.o) +__numeric_load_locale /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lnumeric.o) +__pow5mult /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__preinit_array_end /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) +__preinit_array_start /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) +__ratio /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__register_frame_info /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crtbegin.o +__retarget_lock_acquire /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_acquire_recursive /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) +__retarget_lock_close /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_close_recursive /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_init /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_init_recursive /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_release /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_release_recursive /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) +__retarget_lock_try_acquire /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__retarget_lock_try_acquire_recursive /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__s2b /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +__sf_fake_stderr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) +__sf_fake_stdin /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) +__sf_fake_stdout /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) +__ssprint_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) +__ssputs_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) +__stack /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +__text_start__ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) +__udivsi3 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) +__ulp /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_atol_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) +_calloc_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) +_ctype_ /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-ctype_.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) +_dry_run /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_dtoa_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +_exit /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) +_fini /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o +_free_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) +_global_impure_ptr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) +_impure_ptr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) +_init /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/crti.o + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) +_localeconv_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +_mainCRTStartup /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +_malloc_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) +_malloc_usable_size_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) +_mbtowc_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mbtowc_r.o) +_mprec_log10 /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) +_pack_buffer /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_pack_message /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_pack_size /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_printf_common /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) +_printf_float /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) +_printf_i /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) +_realloc_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) +_reclaim_reent /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) +_sbrk /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) +_sbrk_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) +_serialPeek /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +_setlocale_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +_siprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) +_sprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) +_start /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +_strtod_l /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_strtod_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +_strtol_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) +_svfiprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) +_svfprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) +_usbConfiguration /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_usbSetInterface /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +_vsniprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) +_vsnprintf_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) +_wctomb_r /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wctomb_r.o) +analogRead /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +analogReadResolution /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +analogReference /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) +analogWrite /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +analogWriteResolution /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +atexit /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +atof /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +atol /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +cancelReset /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +cleanup_glue /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) +delay /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +digitalRead /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) +digitalWrite /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +dtostrf /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +end /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) +errno /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) +exception_table /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +exit /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +free /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +g_APinDescription /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +g_apTCInstances /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +hardware_init_hook /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +hello() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o +init /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +initVariant() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +initiateReset /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +isspace /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isspace.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +itoa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +localeconv /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-localeconv.o) +loop /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +ltoa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +main /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +malloc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-malloc.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +memchr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) +memcpy /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mprec.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-dtoa.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +memmove /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-svfprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +memset /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-callocr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(SAMD21_USBDevice.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +micros /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) +millis /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +nan /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-s_nan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +nanf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sf_nan.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +operator delete(void*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +operator delete[](void*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) +operator new(unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +operator new[](unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(new.cpp.o) +operator+(StringSumHelper const&, String const&) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, __FlashStringHelper const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, char const*) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, double) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, float) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, unsigned char) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, unsigned int) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +operator+(StringSumHelper const&, unsigned long) /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +pendSVHook /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) +pinMode /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_digital.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +pinPeripheral /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_private.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(wiring_analog.c.o) +realloc /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-realloc.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +sercom0 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +sercom1 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +sercom2 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +sercom3 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +sercom4 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +sercom5 /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/variant.cpp.o +serialEventRun() /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +setlocale /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) +setup /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/sketch/sketch_simple.ino.cpp.o + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) +siprintf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) +software_init_hook /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +sprintf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(dtostrf.c.o) +strchr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strchr.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strcmp /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcmp.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-locale.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strcpy /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strcpy.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strlen /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strlen.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_float.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strncmp /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncmp.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-gdtoa-gethex.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strncpy /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strncpy.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strrchr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strrchr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strstr /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strstr.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +strtod /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atof.o) +strtod_l /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +strtof /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +strtof_l /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtod.o) +strtol /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) + /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atol.o) +strtol_l /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-strtol.o) +svcHook /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) +sysTickHook /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(cortex_handlers.c.o) +tickReset /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Reset.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) +tolower /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-tolower.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +toupper /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-toupper.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +ultoa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +usbd /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +utoa /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(itoa.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(WString.cpp.o) +vsniprintf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) +vsnprintf /home/alien/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-vsnprintf.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +vtable for DoubleBufferedEPOutHandler /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(USBCore.cpp.o) +vtable for Print /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Print.cpp.o) +vtable for Serial_ /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(CDC.cpp.o) +vtable for Uart /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(Uart.cpp.o) +yield /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(hooks.c.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(main.cpp.o) + /tmp/arduino-sketch-2B73F36B5C84B8272D10C75CF37AA7F8/core/core.a(delay.c.o) diff --git a/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep new file mode 100644 index 00000000000..7c166a13c19 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex new file mode 100644 index 00000000000..d6c7168f721 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex @@ -0,0 +1,29 @@ +:100000000C9434000C9446000C9446000C9446006A +:100010000C9446000C9446000C9446000C94460048 +:100020000C9446000C9446000C9446000C94460038 +:100030000C9446000C9446000C9446000C94460028 +:100040000C9448000C9446000C9446000C94460016 +:100050000C9446000C9446000C9446000C94460008 +:100060000C9446000C94460011241FBECFEFD8E03C +:10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC +:10008000B207E1F70E9492000C94DC000C9400008F +:100090001F920F920FB60F9211242F933F938F93BD +:1000A0009F93AF93BF938091050190910601A0911A +:1000B0000701B09108013091040123E0230F2D378F +:1000C00058F50196A11DB11D2093040180930501EF +:1000D00090930601A0930701B0930801809100015D +:1000E00090910101A0910201B09103010196A11D1F +:1000F000B11D8093000190930101A0930201B09380 +:100100000301BF91AF919F918F913F912F910F90DC +:100110000FBE0F901F90189526E8230F0296A11D81 +:10012000B11DD2CF789484B5826084BD84B58160DE +:1001300084BD85B5826085BD85B5816085BD8091B2 +:100140006E00816080936E0010928100809181002A +:100150008260809381008091810081608093810022 +:10016000809180008160809380008091B1008460E4 +:100170008093B1008091B00081608093B000809145 +:100180007A00846080937A0080917A008260809304 +:100190007A0080917A00816080937A0080917A0061 +:1001A000806880937A001092C100C0E0D0E0209770 +:0C01B000F1F30E940000FBCFF894FFCF99 +:00000001FF diff --git a/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex new file mode 100644 index 00000000000..105cf745a59 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex @@ -0,0 +1,63 @@ +:020000040000FA +:100000000C9434000C9446000C9446000C9446006A +:100010000C9446000C9446000C9446000C94460048 +:100020000C9446000C9446000C9446000C94460038 +:100030000C9446000C9446000C9446000C94460028 +:100040000C9448000C9446000C9446000C94460016 +:100050000C9446000C9446000C9446000C94460008 +:100060000C9446000C94460011241FBECFEFD8E03C +:10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC +:10008000B207E1F70E9492000C94DC000C9400008F +:100090001F920F920FB60F9211242F933F938F93BD +:1000A0009F93AF93BF938091050190910601A0911A +:1000B0000701B09108013091040123E0230F2D378F +:1000C00058F50196A11DB11D2093040180930501EF +:1000D00090930601A0930701B0930801809100015D +:1000E00090910101A0910201B09103010196A11D1F +:1000F000B11D8093000190930101A0930201B09380 +:100100000301BF91AF919F918F913F912F910F90DC +:100110000FBE0F901F90189526E8230F0296A11D81 +:10012000B11DD2CF789484B5826084BD84B58160DE +:1001300084BD85B5826085BD85B5816085BD8091B2 +:100140006E00816080936E0010928100809181002A +:100150008260809381008091810081608093810022 +:10016000809180008160809380008091B1008460E4 +:100170008093B1008091B00081608093B000809145 +:100180007A00846080937A0080917A008260809304 +:100190007A0080917A00816080937A0080917A0061 +:1001A000806880937A001092C100C0E0D0E0209770 +:0C01B000F1F30E940000FBCFF894FFCF99 +:107E0000112484B714BE81FFF0D085E080938100F7 +:107E100082E08093C00088E18093C10086E0809377 +:107E2000C20080E18093C4008EE0C9D0259A86E02C +:107E300020E33CEF91E0309385002093840096BBD3 +:107E4000B09BFECF1D9AA8958150A9F7CC24DD24C4 +:107E500088248394B5E0AB2EA1E19A2EF3E0BF2EE7 +:107E6000A2D0813461F49FD0082FAFD0023811F036 +:107E7000013811F484E001C083E08DD089C08234E0 +:107E800011F484E103C0853419F485E0A6D080C0E4 +:107E9000853579F488D0E82EFF2485D0082F10E0AE +:107EA000102F00270E291F29000F111F8ED06801E7 +:107EB0006FC0863521F484E090D080E0DECF843638 +:107EC00009F040C070D06FD0082F6DD080E0C81688 +:107ED00080E7D80618F4F601B7BEE895C0E0D1E017 +:107EE00062D089930C17E1F7F0E0CF16F0E7DF06D8 +:107EF00018F0F601B7BEE89568D007B600FCFDCFD4 +:107F0000A601A0E0B1E02C9130E011968C91119780 +:107F100090E0982F8827822B932B1296FA010C0160 +:107F200087BEE89511244E5F5F4FF1E0A038BF0790 +:107F300051F7F601A7BEE89507B600FCFDCF97BE46 +:107F4000E89526C08437B1F42ED02DD0F82E2BD052 +:107F50003CD0F601EF2C8F010F5F1F4F84911BD097 +:107F6000EA94F801C1F70894C11CD11CFA94CF0C13 +:107F7000D11C0EC0853739F428D08EE10CD085E9AC +:107F80000AD08FE07ACF813511F488E018D01DD067 +:107F900080E101D065CF982F8091C00085FFFCCF94 +:107FA0009093C60008958091C00087FFFCCF809118 +:107FB000C00084FD01C0A8958091C6000895E0E648 +:107FC000F0E098E1908380830895EDDF803219F02E +:107FD00088E0F5DFFFCF84E1DECF1F93182FE3DFCA +:107FE0001150E9F7F2DF1F91089580E0E8DFEE27F6 +:047FF000FF270994CA +:027FFE00040479 +:00000001FF diff --git a/internal/integrationtest/testdata/sketch_simple/doc.txt b/internal/integrationtest/testdata/sketch_simple/doc.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/internal/integrationtest/testdata/sketch_simple/header.h b/internal/integrationtest/testdata/sketch_simple/header.h new file mode 100644 index 00000000000..2e24536f9fb --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/header.h @@ -0,0 +1 @@ +#define TRUE FALSE \ No newline at end of file diff --git a/internal/integrationtest/testdata/sketch_simple/merged_sketch.txt b/internal/integrationtest/testdata/sketch_simple/merged_sketch.txt new file mode 100644 index 00000000000..6f21615ced6 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/merged_sketch.txt @@ -0,0 +1,15 @@ +#include +#line 1 {{QuoteCppString .sketch.MainFile.Name}} +void setup() { + +} + +void loop() { + +} +#line 1 {{QuoteCppString (index .sketch.OtherSketchFiles 0).Name}} + +#line 1 {{QuoteCppString (index .sketch.OtherSketchFiles 1).Name}} +String hello() { + return "world"; +} diff --git a/internal/integrationtest/testdata/sketch_simple/old.pde b/internal/integrationtest/testdata/sketch_simple/old.pde new file mode 100644 index 00000000000..e69de29bb2d diff --git a/internal/integrationtest/testdata/sketch_simple/other.ino b/internal/integrationtest/testdata/sketch_simple/other.ino new file mode 100644 index 00000000000..c426196c017 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/other.ino @@ -0,0 +1,3 @@ +String hello() { + return "world"; +} \ No newline at end of file diff --git a/internal/integrationtest/testdata/sketch_simple/s_file.S b/internal/integrationtest/testdata/sketch_simple/s_file.S new file mode 100644 index 00000000000..e69de29bb2d diff --git a/internal/integrationtest/testdata/sketch_simple/sketch_simple.ino b/internal/integrationtest/testdata/sketch_simple/sketch_simple.ino new file mode 100644 index 00000000000..0d5e0f5ceb9 --- /dev/null +++ b/internal/integrationtest/testdata/sketch_simple/sketch_simple.ino @@ -0,0 +1,7 @@ +void setup() { + +} + +void loop() { + +} \ No newline at end of file diff --git a/internal/integrationtest/testdata/sketch_simple/src/helper.h b/internal/integrationtest/testdata/sketch_simple/src/helper.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/test_sketch.py b/test/test_sketch.py index 7edf4698e9a..0ca57a023f4 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,19 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_no_args(run_command, copy_sketch, working_dir): - result = run_command(["sketch", "archive"], copy_sketch("sketch_simple")) - print(result.stderr) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg(run_command, copy_sketch, working_dir): result = run_command(["sketch", "archive", "."], copy_sketch("sketch_simple")) assert result.ok From a2694706c7b4cfa75d8586c96a0ff2fbec4c4dee Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 10:21:08 +0200 Subject: [PATCH 24/68] Migrate TestSketchArchiveDotArg from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 17 +++++++++++++++++ test/test_sketch.py | 12 ------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index c8e5eb674ff..1976ba0d30d 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -91,3 +91,20 @@ func TestSketchArchiveNoArgs(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArg(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + + _, _, err := cli.Run("sketch", "archive", ".") + require.NoError(t, err) + + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 0ca57a023f4..8748a849fa1 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,18 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg(run_command, copy_sketch, working_dir): - result = run_command(["sketch", "archive", "."], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_relative_zip_path(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From 1b73ceabbd1f602c677b753143d9da288d054c88 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 10:52:18 +0200 Subject: [PATCH 25/68] Migrate TestSketchDotArgRelativeZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 16 ---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 1976ba0d30d..839d007ec9a 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -108,3 +108,21 @@ func TestSketchArchiveDotArg(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchDotArgRelativeZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", "../my_archives") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 8748a849fa1..45d63b44701 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,22 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_relative_zip_path(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", ".", "../my_archives"], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_absolute_zip_path(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From d3d9a2b4bcc244ae97b41d2bfc8970fd8b537a19 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 11:47:48 +0200 Subject: [PATCH 26/68] Migrate TestSketchDotArgAbsoluteZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 17 +++++++++++++++++ test/test_sketch.py | 16 ---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 839d007ec9a..db3d761aa76 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -126,3 +126,20 @@ func TestSketchDotArgRelativeZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchDotArgAbsoluteZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.String()) + require.NoError(t, err) + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 45d63b44701..1cd6b81d9e4 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,22 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_absolute_zip_path(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", ".", archives_folder], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_relative_zip_path_and_name_without_extension(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From e6b720d0e645f6a32fc3d417f21981da56a5bc66 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 11:53:29 +0200 Subject: [PATCH 27/68] Migrate TestSketchDotArgRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 16 ---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index db3d761aa76..3b214c22bbc 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -143,3 +143,21 @@ func TestSketchDotArgAbsoluteZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", "../my_archives/my_custom_sketch") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 1cd6b81d9e4..b36c8615321 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,22 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_relative_zip_path_and_name_without_extension(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", ".", "../my_archives/my_custom_sketch"], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_absolute_zip_path_and_name_without_extension(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From c3041e322603d4439abca9e4812297206bbd8c98 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 11:57:19 +0200 Subject: [PATCH 28/68] Migrate TestSketchDotArgAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 18 ------------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 3b214c22bbc..abee7831538 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -161,3 +161,21 @@ func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtension(t *testing.T) defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index b36c8615321..bc0e8ba4682 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,24 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_absolute_zip_path_and_name_without_extension(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", f"{archives_folder}/my_custom_sketch"], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_custom_zip_path_and_name_with_extension(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From c41edba626bb502d520eaa478823fb7c7db06473 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 12:00:27 +0200 Subject: [PATCH 29/68] Migrate TestSketchDotArgCustomZipPathAndNameWithExtension from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 18 ------------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index abee7831538..51e10d896ae 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -179,3 +179,21 @@ func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtension(t *testing.T) defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgCustomZipPathAndNameWithExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index bc0e8ba4682..c153d8d9e14 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,24 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_custom_zip_path_and_name_with_extension(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", f"{archives_folder}/my_custom_sketch.zip"], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path(run_command, copy_sketch, working_dir): copy_sketch("sketch_simple") result = run_command(["sketch", "archive", "./sketch_simple"]) From 8bb5e8b1e6d36727df66a0843284a6fb3d30f7e9 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 12:06:04 +0200 Subject: [PATCH 30/68] Migrate TestSketchArchiveRelativeSketchPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 14 ++++++++++++++ test/test_sketch.py | 13 ------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 51e10d896ae..142a256ffea 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -197,3 +197,17 @@ func TestSketchArchiveDotArgCustomZipPathAndNameWithExtension(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + _, _, err := cli.Run("sketch", "archive", "./sketch_simple") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index c153d8d9e14..50e88a158d1 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,19 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path(run_command, copy_sketch, working_dir): - copy_sketch("sketch_simple") - result = run_command(["sketch", "archive", "./sketch_simple"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path(run_command, copy_sketch, working_dir): result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple"], copy_sketch("sketch_simple")) assert result.ok From 9565b9a2542d7923665137930a96ec51bacd44c1 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 12:46:11 +0200 Subject: [PATCH 31/68] Migrate TestSketchArchiveAbsoluteSketchPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 14 ++++++++++++++ test/test_sketch.py | 12 ------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 142a256ffea..7e0705e264e 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -211,3 +211,17 @@ func TestSketchArchiveRelativeSketchPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(env.RootDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 50e88a158d1..fb0642b5e6c 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,18 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path(run_command, copy_sketch, working_dir): - result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple"], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path(run_command, copy_sketch, working_dir): copy_sketch("sketch_simple") # Creates a folder where to save the zip From 788c77c471dc9fbc81806a164f41d8b53c94708f Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:14:52 +0200 Subject: [PATCH 32/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 17 ----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 7e0705e264e..5d93f7c3c1b 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -225,3 +225,21 @@ func TestSketchArchiveAbsoluteSketchPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index fb0642b5e6c..7f590c90114 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,23 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_relative_zip_path(run_command, copy_sketch, working_dir): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", "./my_archives"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path(run_command, copy_sketch, working_dir): copy_sketch("sketch_simple") # Creates a folder where to save the zip From 5403f0a8b225157c0d02b43f8e69ddf96940cfa5 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:17:32 +0200 Subject: [PATCH 33/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 17 ----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 5d93f7c3c1b..c73e7e7a2a1 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -243,3 +243,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 7f590c90114..6ad71665a6c 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,23 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path(run_command, copy_sketch, working_dir): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", archives_folder]) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_without_extension( run_command, copy_sketch, working_dir ): From 6533b4ecc0949fb2f5e0f62844369c387b7b0b6e Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:20:33 +0200 Subject: [PATCH 34/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index c73e7e7a2a1..4463487077e 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -261,3 +261,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 6ad71665a6c..f2e274ec932 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_without_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_with_extension( run_command, copy_sketch, working_dir ): From 82c8d15506d6a991cb656a8cb243e50042916d82 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:21:37 +0200 Subject: [PATCH 35/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 4463487077e..892823cd273 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -279,3 +279,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index f2e274ec932..5a9bf58bf38 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_with_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_without_extension( run_command, copy_sketch, working_dir ): From 72258560fa02f9cb83dd83c65c7afd3488138d0c Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:23:14 +0200 Subject: [PATCH 36/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 892823cd273..69234d14c1d 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -297,3 +297,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension( defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 5a9bf58bf38..b7ab9e01751 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_without_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", f"{archives_folder}/my_custom_sketch"]) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_with_extension( run_command, copy_sketch, working_dir ): From 9d442135e1a908a05ffc7b31b1a603ed887200d5 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:27:44 +0200 Subject: [PATCH 37/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 69234d14c1d..b5419e06061 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -315,3 +315,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index b7ab9e01751..47487e5dbb7 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_with_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", f"{archives_folder}/my_custom_sketch.zip"]) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path(run_command, copy_sketch, working_dir): copy_sketch("sketch_simple") # Creates a folder where to save the zip From 3f6abcbab9420f2f97a79a5b373bd96abd885c55 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:55:44 +0200 Subject: [PATCH 38/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 17 ----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index b5419e06061..b74ca8d32d8 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -333,3 +333,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtension( defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 47487e5dbb7..973c4380143 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,23 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path(run_command, copy_sketch, working_dir): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple", "./my_archives"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From 9aa083eed45876bb4d7b4e2441ceae8ddc6c31d9 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 14:57:05 +0200 Subject: [PATCH 39/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPath from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 18 ------------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index b74ca8d32d8..f15ce2f137d 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -351,3 +351,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPath(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 973c4380143..9dd4dd205d2 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,24 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", archives_folder], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_without_extension( run_command, copy_sketch, working_dir ): From 653737b043e91055c19a5309f8c116f48322b276 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:03:24 +0200 Subject: [PATCH 40/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index f15ce2f137d..68ed09d33cd 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -369,3 +369,21 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPath(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 9dd4dd205d2..a6774bbb0a1 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_without_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple", "./my_archives/my_custom_sketch"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_with_extension( run_command, copy_sketch, working_dir ): From 8d7a3ee1caaf9cfb40e025802bedb7da3415bfb5 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:04:30 +0200 Subject: [PATCH 41/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 68ed09d33cd..0ae848902bd 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -387,3 +387,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch.zip") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index a6774bbb0a1..8952b8091a3 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_with_extension( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple", "./my_archives/my_custom_sketch.zip"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_without_extension( run_command, copy_sketch, working_dir ): From f40019781c9b6cceeff688965539d3188642d3ee Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:10:55 +0200 Subject: [PATCH 42/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 0ae848902bd..8be05eec9c5 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -405,3 +405,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension( defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 8952b8091a3..9f0f86f44e9 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_without_extension( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", f"{archives_folder}/my_custom_sketch"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_with_extension( run_command, copy_sketch, working_dir ): From 3b9ccce4f94f36c92a7643a7367399828ed83ee3 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:12:03 +0200 Subject: [PATCH 43/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 8be05eec9c5..100d1a5e864 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -423,3 +423,21 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 9f0f86f44e9..852d8ab411a 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_with_extension( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", f"{archives_folder}/my_custom_sketch.zip"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_excluding_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_no_args_with_include_build_dir_flag(run_command, copy_sketch, working_dir): result = run_command(["sketch", "archive", "--include-build-dir"], copy_sketch("sketch_simple")) assert result.ok From 136c96b543ffac1cfa1a73c706ea4166e6c923f5 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:40:00 +0200 Subject: [PATCH 44/68] Migrate TestSketchArchiveNoArgsWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 32 +++++++++++++++++++ test/test_sketch.py | 12 ------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 100d1a5e864..83d34a38727 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -75,6 +75,23 @@ func verifyZipContainsSketchExcludingBuildDir(t *testing.T, files []*zip.File) { require.Equal(t, paths.New("sketch_simple", "src", "helper.h").String(), files[7].Name) } +func verifyZipContainsSketchIncludingBuildDir(t *testing.T, files []*zip.File) { + require.Len(t, files, 13) + require.Equal(t, paths.New("sketch_simple", "doc.txt").String(), files[5].Name) + require.Equal(t, paths.New("sketch_simple", "header.h").String(), files[6].Name) + require.Equal(t, paths.New("sketch_simple", "merged_sketch.txt").String(), files[7].Name) + require.Equal(t, paths.New("sketch_simple", "old.pde").String(), files[8].Name) + require.Equal(t, paths.New("sketch_simple", "other.ino").String(), files[9].Name) + require.Equal(t, paths.New("sketch_simple", "s_file.S").String(), files[10].Name) + require.Equal(t, paths.New("sketch_simple", "sketch_simple.ino").String(), files[11].Name) + require.Equal(t, paths.New("sketch_simple", "src", "helper.h").String(), files[12].Name) + require.Equal(t, paths.New("sketch_simple", "build", "adafruit.samd.adafruit_feather_m0", "sketch_simple.ino.hex").String(), files[0].Name) + require.Equal(t, paths.New("sketch_simple", "build", "adafruit.samd.adafruit_feather_m0", "sketch_simple.ino.map").String(), files[1].Name) + require.Equal(t, paths.New("sketch_simple", "build", "arduino.avr.uno", "sketch_simple.ino.eep").String(), files[2].Name) + require.Equal(t, paths.New("sketch_simple", "build", "arduino.avr.uno", "sketch_simple.ino.hex").String(), files[3].Name) + require.Equal(t, paths.New("sketch_simple", "build", "arduino.avr.uno", "sketch_simple.ino.with_bootloader.hex").String(), files[4].Name) +} + func TestSketchArchiveNoArgs(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() @@ -441,3 +458,18 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension( defer require.NoError(t, archive.Close()) verifyZipContainsSketchExcludingBuildDir(t, archive.File) } + +func TestSketchArchiveNoArgsWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 852d8ab411a..8909b8d86ab 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,18 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_no_args_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - result = run_command(["sketch", "archive", "--include-build-dir"], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_with_include_build_dir_flag(run_command, copy_sketch, working_dir): result = run_command(["sketch", "archive", ".", "--include-build-dir"], copy_sketch("sketch_simple")) assert result.ok From 2c3a3eb0f6f4674e017bb70f8fd3bd7f0a98bc13 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:50:38 +0200 Subject: [PATCH 45/68] Migrate TestSketchArchiveDotArgWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 15 +++++++++++++++ test/test_sketch.py | 12 ------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 83d34a38727..895d1d8a209 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -473,3 +473,18 @@ func TestSketchArchiveNoArgsWithIncludeBuildDirFlag(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 8909b8d86ab..3dea2e873bc 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,18 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - result = run_command(["sketch", "archive", ".", "--include-build-dir"], copy_sketch("sketch_simple")) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_relative_zip_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From db68856d678bad1da64ffa29bf5907187dc1f883 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:54:06 +0200 Subject: [PATCH 46/68] Migrate TestSketchArchiveDotArgRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 19 +++++++++++++++++++ test/test_sketch.py | 18 ------------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 895d1d8a209..c3ce37e33c7 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -488,3 +488,22 @@ func TestSketchArchiveDotArgWithIncludeBuildDirFlag(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", "../my_archives", "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 3dea2e873bc..ff9620efd3c 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,24 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_relative_zip_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", "../my_archives", "--include-build-dir"], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_absolute_zip_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): # Creates a folder where to save the zip archives_folder = f"{working_dir}/my_archives/" From e0dfbadf39805265671f378a7a962b8f5b16bb88 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:56:57 +0200 Subject: [PATCH 47/68] Migrate TestSketchArchiveDotArgAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 19 +++++++++++++++++++ test/test_sketch.py | 18 ------------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index c3ce37e33c7..01e2a145e8e 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -507,3 +507,22 @@ func TestSketchArchiveDotArgRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.String(), "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index ff9620efd3c..0592a090d65 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,24 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_absolute_zip_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", archives_folder, "--include-build-dir"], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 850189dcd2c620637ed24af14a17497409925594 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 15:59:26 +0200 Subject: [PATCH 48/68] Migrate TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 19 +++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 01e2a145e8e..4c9c8b5dfdd 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -526,3 +526,22 @@ func TestSketchArchiveDotArgAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", "../my_archives/my_custom_sketch", "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 0592a090d65..90a1aadbecc 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", "../my_archives/my_custom_sketch", "--include-build-dir"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 927bdf189938af0ad31e5e41189e387993234488 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:01:22 +0200 Subject: [PATCH 49/68] Migrate TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 19 +++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 4c9c8b5dfdd..5299bb1fb8f 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -545,3 +545,22 @@ func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtensionWithIncludeBui defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 90a1aadbecc..53088b436e7 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", f"{archives_folder}/my_custom_sketch", "--include-build-dir"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_dot_arg_custom_zip_path_and_name_with_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 57ffd2f58cb339616e1fb73259cf81a1ec18e288 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:03:05 +0200 Subject: [PATCH 50/68] Migrate TestSketchArchiveDotArgCustomZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 19 +++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 5299bb1fb8f..f14be4c1a01 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -564,3 +564,22 @@ func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtensionWithIncludeBui defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveDotCustomZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + cli.SetWorkingDir(cli.CopySketch("sketch_simple")) + _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") + require.NoError(t, err) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 53088b436e7..5be7fb80ea5 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_dot_arg_custom_zip_path_and_name_with_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", ".", f"{archives_folder}/my_custom_sketch.zip", "--include-build-dir"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): copy_sketch("sketch_simple") result = run_command(["sketch", "archive", "./sketch_simple", "--include-build-dir"]) From 6c219da677dec82b85b18dcdf069a5da67ca7d77 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:10:57 +0200 Subject: [PATCH 51/68] Migrate TestSketchArchiveRelativeSketchPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 14 ++++++++++++++ test/test_sketch.py | 13 ------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index f14be4c1a01..812535ef345 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -583,3 +583,17 @@ func TestSketchArchiveDotCustomZipPathAndNameWithExtensionWithIncludeBuildDirFla defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 5be7fb80ea5..5d6bddb2a60 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,19 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - copy_sketch("sketch_simple") - result = run_command(["sketch", "archive", "./sketch_simple", "--include-build-dir"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): result = run_command( ["sketch", "archive", f"{working_dir}/sketch_simple", "--include-build-dir"], copy_sketch("sketch_simple") From 8b87a5c8f41044233976d130955ab8194fc5b3ab Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:27:09 +0200 Subject: [PATCH 52/68] Migrate TestSketchArchiveAbsoluteSketchPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 14 ++++++++++++++ test/test_sketch.py | 14 -------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 812535ef345..4d50f9b967e 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -597,3 +597,17 @@ func TestSketchArchiveRelativeSketchPathWithIncludeBuildDirFlag(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 5d6bddb2a60..31ff026871c 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,20 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_include_build_dir_flag(run_command, copy_sketch, working_dir): - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", "--include-build-dir"], copy_sketch("sketch_simple") - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From d0118b1737ac00f7566d63ca8d4f1efedd78aee1 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:31:35 +0200 Subject: [PATCH 53/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 4d50f9b967e..19a1c080d62 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -611,3 +611,21 @@ func TestSketchArchiveAbsoluteSketchPathWithIncludeBuildDirFlag(t *testing.T) { defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 31ff026871c..5a0d9c793f7 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_relative_zip_path_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", "./my_archives", "--include-build-dir"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From ea812b2ed64bf5896e0a3f27323fd3eb6a001163 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 16:58:18 +0200 Subject: [PATCH 54/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 19a1c080d62..f3bb64ad16c 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -629,3 +629,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPathWithIncludeBuildDirFl defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 5a0d9c793f7..6c7468d8181 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", "./sketch_simple", archives_folder, "--include-build-dir"]) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa run_command, copy_sketch, working_dir ): From 8c9c69ac97e5e3d7fcb680c6f2ee5b9f9b08f0c7 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:01:12 +0200 Subject: [PATCH 55/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 +++++++++++++++ test/test_sketch.py | 22 ------------------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index f3bb64ad16c..76ef83a9904 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -647,3 +647,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathWithIncludeBuildDirFl defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 6c7468d8181..1de5f7d4ab2 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -47,28 +47,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex" in files assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files - -def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch", "--include-build-dir"] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_with_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 508873571a3ecf28dec6d1f3942ac4e620499934 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:02:26 +0200 Subject: [PATCH 56/68] Migrate TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 +++++++++++++++++ test/test_sketch.py | 20 ------------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 76ef83a9904..2b9c2e70ffb 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -665,3 +665,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 1de5f7d4ab2..c7bdcb8c7a6 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -47,26 +47,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex" in files assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_relative_zip_path_and_name_with_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip", "--include-build-dir"] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa run_command, copy_sketch, working_dir From 8c11677788e02b916d56ba6fcbc02c205f01c9e5 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:05:50 +0200 Subject: [PATCH 57/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 2b9c2e70ffb..ae7fa977d13 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -683,3 +683,21 @@ func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtensionW defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index c7bdcb8c7a6..d6a01845ecf 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", "./sketch_simple", f"{archives_folder}/my_custom_sketch", "--include-build-dir"] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_with_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From bb80f327d3fba7cbf9ca3d2227000e2f3515d064 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:06:43 +0200 Subject: [PATCH 58/68] Migrate TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index ae7fa977d13..7e13f891ed3 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -701,3 +701,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index d6a01845ecf..72f8d3e36f6 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_relative_sketch_path_with_absolute_zip_path_and_name_with_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", "./sketch_simple", f"{archives_folder}/my_custom_sketch.zip", "--include-build-dir"] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 2ca6362ec5238b8dac1197c1daf7047833bf68ad Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:08:49 +0200 Subject: [PATCH 59/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++++ test/test_sketch.py | 19 ------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 7e13f891ed3..206bb0e4ef9 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -719,3 +719,21 @@ func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtensionW defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 72f8d3e36f6..036101079ce 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,25 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command(["sketch", "archive", f"{working_dir}/sketch_simple", "./my_archives", "--include-build-dir"]) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 3b1d09b5f474e03f1e021a5bc04e4e2eefdbae22 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:10:08 +0200 Subject: [PATCH 60/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 206bb0e4ef9..bdac14b72f4 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -737,3 +737,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathWithIncludeBuildDirFl defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 036101079ce..b78fa674f57 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", archives_folder, "--include-build-dir"], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/sketch_simple.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa run_command, copy_sketch, working_dir ): From 8acc61cb515fc7c5d358849bf7a55ba671818cca Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:11:55 +0200 Subject: [PATCH 61/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 ++++++++++++++++ test/test_sketch.py | 21 ------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index bdac14b72f4..158d1f0695f 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -755,3 +755,21 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathWithIncludeBuildDirFl defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index b78fa674f57..8adc09c9820 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,27 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - ["sketch", "archive", f"{working_dir}/sketch_simple", "./my_archives/my_custom_sketch", "--include-build-dir"] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_with_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From ef34d98f1d4a7f290a285a79e380842e84608bd9 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:13:20 +0200 Subject: [PATCH 62/68] Migrate TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 +++++++++++++ test/test_sketch.py | 27 ------------------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 158d1f0695f..70d6e323c12 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -773,3 +773,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch.zip", "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index 8adc09c9820..b402e4f9ac2 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,33 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_relative_zip_path_and_name_with_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - copy_sketch("sketch_simple") - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - [ - "sketch", - "archive", - f"{working_dir}/sketch_simple", - "./my_archives/my_custom_sketch.zip", - "--include-build-dir", - ] - ) - assert result.ok - - archive = zipfile.ZipFile(f"{working_dir}/my_archives/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa run_command, copy_sketch, working_dir ): From da18f20a2bc6d200c32ed9d99a55d22c5488dfab Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:21:26 +0200 Subject: [PATCH 63/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 +++++++++++++ test/test_sketch.py | 27 ------------------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 70d6e323c12..fb9c2c957d2 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -791,3 +791,21 @@ func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtensionW defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index b402e4f9ac2..af5834e0e05 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,33 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_without_extension_with_include_build_dir_flag( # noqa - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - [ - "sketch", - "archive", - f"{working_dir}/sketch_simple", - f"{archives_folder}/my_custom_sketch", - "--include-build-dir", - ], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_with_extension_with_include_build_dir_flag( run_command, copy_sketch, working_dir ): From 63dea11d99c73d893e8c79ff598ce28dfd08b443 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:42:58 +0200 Subject: [PATCH 64/68] Migrate TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 18 +++++++++++++ test/test_sketch.py | 27 ------------------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index fb9c2c957d2..a13973564ab 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -809,3 +809,21 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensi defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _ = cli.CopySketch("sketch_simple") + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") + require.NoError(t, err) + + archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) +} diff --git a/test/test_sketch.py b/test/test_sketch.py index af5834e0e05..11ee68bf103 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,33 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_absolute_sketch_path_with_absolute_zip_path_and_name_with_extension_with_include_build_dir_flag( - run_command, copy_sketch, working_dir -): - # Creates a folder where to save the zip - archives_folder = f"{working_dir}/my_archives/" - Path(archives_folder).mkdir() - - result = run_command( - [ - "sketch", - "archive", - f"{working_dir}/sketch_simple", - f"{archives_folder}/my_custom_sketch.zip", - "--include-build-dir", - ], - copy_sketch("sketch_simple"), - ) - assert result.ok - - archive = zipfile.ZipFile(f"{archives_folder}/my_custom_sketch.zip") - archive_files = archive.namelist() - - verify_zip_contains_sketch_including_build_dir(archive_files) - - archive.close() - - def test_sketch_archive_with_pde_main_file(run_command, copy_sketch, working_dir): sketch_name = "sketch_pde_main_file" sketch_dir = copy_sketch(sketch_name) From dd73a86a09d4e2d172ded9155991781fa09be3cf Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:45:24 +0200 Subject: [PATCH 65/68] Migrate TestSketchArchiveWithPdeMainFile from test_sketch.py to sketch_test.go --- .../integrationtest/sketch/sketch_test.go | 22 +++++++++++++++++++ .../sketch_pde_main_file.pde | 0 test/test_sketch.py | 17 -------------- 3 files changed, 22 insertions(+), 17 deletions(-) rename {test => internal/integrationtest}/testdata/sketch_pde_main_file/sketch_pde_main_file.pde (100%) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index a13973564ab..d37aa2210fb 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -827,3 +827,25 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionW defer require.NoError(t, archive.Close()) verifyZipContainsSketchIncludingBuildDir(t, archive.File) } + +func TestSketchArchiveWithPdeMainFile(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + sketchName := "sketch_pde_main_file" + sketchDir := cli.CopySketch(sketchName) + sketchFile := sketchDir.Join(sketchName + ".pde") + relPath, err := sketchFile.RelFrom(sketchDir) + require.NoError(t, err) + cli.SetWorkingDir(sketchDir) + _, stderr, err := cli.Run("sketch", "archive") + require.NoError(t, err) + require.Contains(t, string(stderr), "Sketches with .pde extension are deprecated, please rename the following files to .ino") + require.Contains(t, string(stderr), relPath.String()) + cli.SetWorkingDir(env.RootDir()) + + archive, err := zip.OpenReader(cli.WorkingDir().Join(sketchName + ".zip").String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + require.Contains(t, archive.File[0].Name, paths.New(sketchName, sketchName+".pde").String()) +} diff --git a/test/testdata/sketch_pde_main_file/sketch_pde_main_file.pde b/internal/integrationtest/testdata/sketch_pde_main_file/sketch_pde_main_file.pde similarity index 100% rename from test/testdata/sketch_pde_main_file/sketch_pde_main_file.pde rename to internal/integrationtest/testdata/sketch_pde_main_file/sketch_pde_main_file.pde diff --git a/test/test_sketch.py b/test/test_sketch.py index 11ee68bf103..f86bc849f92 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,23 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_with_pde_main_file(run_command, copy_sketch, working_dir): - sketch_name = "sketch_pde_main_file" - sketch_dir = copy_sketch(sketch_name) - sketch_file = Path(sketch_dir, f"{sketch_name}.pde") - res = run_command(["sketch", "archive"], sketch_dir) - assert res.ok - assert "Sketches with .pde extension are deprecated, please rename the following files to .ino" in res.stderr - assert str(sketch_file.relative_to(sketch_dir)) in res.stderr - - archive = zipfile.ZipFile(f"{working_dir}/{sketch_name}.zip") - archive_files = archive.namelist() - - assert f"{sketch_name}/{sketch_name}.pde" in archive_files - - archive.close() - - def test_sketch_archive_with_multiple_main_files(run_command, copy_sketch, working_dir): sketch_name = "sketch_multiple_main_files" sketch_dir = copy_sketch(sketch_name) From b203f8c4d423cf374c206caf9ebdf84a5dabdf36 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:49:43 +0200 Subject: [PATCH 66/68] Migrate TestSketchArchiveWithMultipleMainFiles from test_sketch.py to sketch_test.go --- internal/integrationtest/sketch/sketch_test.go | 17 +++++++++++++++++ .../sketch_multiple_main_files.ino | 0 .../sketch_multiple_main_files.pde | 0 test/test_sketch.py | 11 ----------- 4 files changed, 17 insertions(+), 11 deletions(-) rename {test => internal/integrationtest}/testdata/sketch_multiple_main_files/sketch_multiple_main_files.ino (100%) rename {test => internal/integrationtest}/testdata/sketch_multiple_main_files/sketch_multiple_main_files.pde (100%) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index d37aa2210fb..8476ff084ac 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -849,3 +849,20 @@ func TestSketchArchiveWithPdeMainFile(t *testing.T) { defer require.NoError(t, archive.Close()) require.Contains(t, archive.File[0].Name, paths.New(sketchName, sketchName+".pde").String()) } + +func TestSketchArchiveWithMultipleMainFiles(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + sketchName := "sketch_multiple_main_files" + sketchDir := cli.CopySketch(sketchName) + sketchFile := sketchDir.Join(sketchName + ".pde") + relPath, err := sketchFile.RelFrom(sketchDir) + require.NoError(t, err) + cli.SetWorkingDir(sketchDir) + _, stderr, err := cli.Run("sketch", "archive") + require.Error(t, err) + require.Contains(t, string(stderr), "Sketches with .pde extension are deprecated, please rename the following files to .ino") + require.Contains(t, string(stderr), relPath.String()) + require.Contains(t, string(stderr), "Error archiving: Can't open sketch: multiple main sketch files found") +} diff --git a/test/testdata/sketch_multiple_main_files/sketch_multiple_main_files.ino b/internal/integrationtest/testdata/sketch_multiple_main_files/sketch_multiple_main_files.ino similarity index 100% rename from test/testdata/sketch_multiple_main_files/sketch_multiple_main_files.ino rename to internal/integrationtest/testdata/sketch_multiple_main_files/sketch_multiple_main_files.ino diff --git a/test/testdata/sketch_multiple_main_files/sketch_multiple_main_files.pde b/internal/integrationtest/testdata/sketch_multiple_main_files/sketch_multiple_main_files.pde similarity index 100% rename from test/testdata/sketch_multiple_main_files/sketch_multiple_main_files.pde rename to internal/integrationtest/testdata/sketch_multiple_main_files/sketch_multiple_main_files.pde diff --git a/test/test_sketch.py b/test/test_sketch.py index f86bc849f92..f1e8270b54e 100644 --- a/test/test_sketch.py +++ b/test/test_sketch.py @@ -48,17 +48,6 @@ def verify_zip_contains_sketch_including_build_dir(files): assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files -def test_sketch_archive_with_multiple_main_files(run_command, copy_sketch, working_dir): - sketch_name = "sketch_multiple_main_files" - sketch_dir = copy_sketch(sketch_name) - sketch_file = Path(sketch_dir, f"{sketch_name}.pde") - res = run_command(["sketch", "archive"], sketch_dir) - assert res.failed - assert "Sketches with .pde extension are deprecated, please rename the following files to .ino" in res.stderr - assert str(sketch_file.relative_to(sketch_dir)) in res.stderr - assert "Error archiving: Can't open sketch: multiple main sketch files found" in res.stderr - - def test_sketch_archive_case_mismatch_fails(run_command, data_dir): sketch_name = "ArchiveSketchCaseMismatch" sketch_path = Path(data_dir, sketch_name) From 13490fc03c961d33b3c63a18e51745e3c2b924ad Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 12 Oct 2022 17:57:04 +0200 Subject: [PATCH 67/68] Migrate TestSketchArchiveCaseMismatchFails to sketch_test.go and delete test_sketch.py --- .../integrationtest/sketch/sketch_test.go | 19 ++++++ test/test_sketch.py | 62 ------------------- 2 files changed, 19 insertions(+), 62 deletions(-) delete mode 100644 test/test_sketch.py diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index 8476ff084ac..e3a8c41845f 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -17,6 +17,7 @@ package sketch_test import ( "archive/zip" + "strings" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" @@ -866,3 +867,21 @@ func TestSketchArchiveWithMultipleMainFiles(t *testing.T) { require.Contains(t, string(stderr), relPath.String()) require.Contains(t, string(stderr), "Error archiving: Can't open sketch: multiple main sketch files found") } + +func TestSketchArchiveCaseMismatchFails(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + sketchName := "ArchiveSketchCaseMismatch" + sketchPath := cli.SketchbookDir().Join(sketchName) + + _, _, err := cli.Run("sketch", "new", sketchPath.String()) + require.NoError(t, err) + + // Rename main .ino file so casing is different from sketch name + require.NoError(t, sketchPath.Join(sketchName+".ino").Rename(sketchPath.Join(strings.ToLower(sketchName)+".ino"))) + + _, stderr, err := cli.Run("sketch", "archive", sketchPath.String()) + require.Error(t, err) + require.Contains(t, string(stderr), "Error archiving: Can't open sketch:") +} diff --git a/test/test_sketch.py b/test/test_sketch.py deleted file mode 100644 index f1e8270b54e..00000000000 --- a/test/test_sketch.py +++ /dev/null @@ -1,62 +0,0 @@ -# This file is part of arduino-cli. -# -# Copyright 2020 ARDUINO SA (http://www.arduino.cc/) -# -# This software is released under the GNU General Public License version 3, -# which covers the main part of arduino-cli. -# The terms of this license can be found at: -# https://www.gnu.org/licenses/gpl-3.0.en.html -# -# You can be released from the requirements of the above licenses by purchasing -# a commercial license. Buying such a license is mandatory if you want to modify or -# otherwise use the software for commercial activities involving the Arduino -# software without disclosing the source code of your own applications. To purchase -# a commercial license, send an email to license@arduino.cc. -import zipfile -from pathlib import Path - - -def verify_zip_contains_sketch_excluding_build_dir(files): - assert "sketch_simple/doc.txt" in files - assert "sketch_simple/header.h" in files - assert "sketch_simple/merged_sketch.txt" in files - assert "sketch_simple/old.pde" in files - assert "sketch_simple/other.ino" in files - assert "sketch_simple/s_file.S" in files - assert "sketch_simple/sketch_simple.ino" in files - assert "sketch_simple/src/helper.h" in files - assert "sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex" not in files - assert "sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map" not in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep" not in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex" not in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" not in files - - -def verify_zip_contains_sketch_including_build_dir(files): - assert "sketch_simple/doc.txt" in files - assert "sketch_simple/header.h" in files - assert "sketch_simple/merged_sketch.txt" in files - assert "sketch_simple/old.pde" in files - assert "sketch_simple/other.ino" in files - assert "sketch_simple/s_file.S" in files - assert "sketch_simple/sketch_simple.ino" in files - assert "sketch_simple/src/helper.h" in files - assert "sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.hex" in files - assert "sketch_simple/build/adafruit.samd.adafruit_feather_m0/sketch_simple.ino.map" in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.eep" in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.hex" in files - assert "sketch_simple/build/arduino.avr.uno/sketch_simple.ino.with_bootloader.hex" in files - - -def test_sketch_archive_case_mismatch_fails(run_command, data_dir): - sketch_name = "ArchiveSketchCaseMismatch" - sketch_path = Path(data_dir, sketch_name) - - assert run_command(["sketch", "new", sketch_path]) - - # Rename main .ino file so casing is different from sketch name - Path(sketch_path, f"{sketch_name}.ino").rename(sketch_path / f"{sketch_name.lower()}.ino") - - res = run_command(["sketch", "archive", sketch_path]) - assert res.failed - assert "Error archiving: Can't open sketch:" in res.stderr From 9471c03a5956a3e286995c829ff72f44e598fb74 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Mon, 31 Oct 2022 10:44:47 +0100 Subject: [PATCH 68/68] Rearrange tests using subtests --- .../integrationtest/sketch/sketch_test.go | 945 ++++-------------- 1 file changed, 211 insertions(+), 734 deletions(-) diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index e3a8c41845f..27fd2705dff 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -17,6 +17,7 @@ package sketch_test import ( "archive/zip" + "fmt" "strings" "testing" @@ -25,6 +26,14 @@ import ( "github.com/stretchr/testify/require" ) +type archiveTest struct { + SubTestName string + SketchPathParam string + TargetPathParam string + WorkingDir *paths.Path + ExpectedArchivePath *paths.Path +} + func TestSketchNew(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() @@ -93,740 +102,208 @@ func verifyZipContainsSketchIncludingBuildDir(t *testing.T, files []*zip.File) { require.Equal(t, paths.New("sketch_simple", "build", "arduino.avr.uno", "sketch_simple.ino.with_bootloader.hex").String(), files[4].Name) } -func TestSketchArchiveNoArgs(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - - _, _, err := cli.Run("sketch", "archive") - require.NoError(t, err) - - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArg(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - - _, _, err := cli.Run("sketch", "archive", ".") - require.NoError(t, err) - - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchDotArgRelativeZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", "../my_archives") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchDotArgAbsoluteZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.String()) - require.NoError(t, err) - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", "../my_archives/my_custom_sketch") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgCustomZipPathAndNameWithExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - _, _, err := cli.Run("sketch", "archive", "./sketch_simple") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(env.RootDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPath(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch.zip") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", env.RootDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchExcludingBuildDir(t, archive.File) -} - -func TestSketchArchiveNoArgsWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", "../my_archives", "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.String(), "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", "../my_archives/my_custom_sketch", "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotArgAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveDotCustomZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - cli.SetWorkingDir(cli.CopySketch("sketch_simple")) - _, _, err := cli.Run("sketch", "archive", ".", archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") - require.NoError(t, err) - cli.SetWorkingDir(env.RootDir()) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", "./my_archives/my_custom_sketch.zip", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", "./sketch_simple", archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("sketch_simple.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), "./my_archives/my_custom_sketch.zip", "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(cli.WorkingDir().Join("my_archives", "my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch").String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) -} - -func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionWithIncludeBuildDirFlag(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _ = cli.CopySketch("sketch_simple") - // Creates a folder where to save the zip - archivesFolder := cli.WorkingDir().Join("my_archives") - require.NoError(t, archivesFolder.Mkdir()) - - _, _, err := cli.Run("sketch", "archive", cli.WorkingDir().Join("sketch_simple").String(), archivesFolder.Join("my_custom_sketch.zip").String(), "--include-build-dir") - require.NoError(t, err) - - archive, err := zip.OpenReader(archivesFolder.Join("my_custom_sketch.zip").String()) - require.NoError(t, err) - defer require.NoError(t, archive.Close()) - verifyZipContainsSketchIncludingBuildDir(t, archive.File) +func TestSketchArchive(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + sketchSimple := cli.CopySketch("sketch_simple") + + // Creates a folder where to save the zip + archivesFolder := cli.WorkingDir().Join("my_archives") + require.NoError(t, archivesFolder.Mkdir()) + + archiveTests := []archiveTest{ + { + SubTestName: "ArchiveNoArgs", + SketchPathParam: "", + TargetPathParam: "", + WorkingDir: sketchSimple, + ExpectedArchivePath: env.RootDir().Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveDotArg", + SketchPathParam: ".", + TargetPathParam: "", + WorkingDir: sketchSimple, + ExpectedArchivePath: env.RootDir().Join("sketch_simple.zip"), + }, + { + SubTestName: "DotArgRelativeZipPath", + SketchPathParam: ".", + TargetPathParam: "../my_archives", + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "DotArgAbsoluteZiptPath", + SketchPathParam: ".", + TargetPathParam: archivesFolder.String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveDotArgRelativeZipPathAndNameWithoutExtension", + SketchPathParam: ".", + TargetPathParam: "../my_archives/my_custom_sketch", + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveDotArgAbsoluteZipPathAndNameWithoutExtension", + SketchPathParam: ".", + TargetPathParam: archivesFolder.Join("my_custom_sketch").String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveDotArgCustomZipPathAndNameWithExtension", + SketchPathParam: ".", + TargetPathParam: archivesFolder.Join("my_custom_sketch.zip").String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPath", + SketchPathParam: "./sketch_simple", + TargetPathParam: "", + WorkingDir: env.RootDir(), + ExpectedArchivePath: env.RootDir().Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPath", + SketchPathParam: env.RootDir().Join("sketch_simple").String(), + TargetPathParam: "", + WorkingDir: env.RootDir(), + ExpectedArchivePath: env.RootDir().Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithRelativeZipPath", + SketchPathParam: "./sketch_simple", + TargetPathParam: "./my_archives", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithAbsoluteZipPath", + SketchPathParam: "./sketch_simple", + TargetPathParam: archivesFolder.String(), + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithRelativeZipPathAndNameWithoutExtension", + SketchPathParam: "./sketch_simple", + TargetPathParam: "./my_archives/my_custom_sketch", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithRelativeZipPathAndNameWithExtension", + SketchPathParam: "./sketch_simple", + TargetPathParam: "./my_archives/my_custom_sketch.zip", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension", + SketchPathParam: "./sketch_simple", + TargetPathParam: archivesFolder.Join("my_custom_sketch").String(), + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveRelativeSketchPathWithAbsoluteZipPathAndNameWithoutExtension", + SketchPathParam: "./sketch_simple", + TargetPathParam: archivesFolder.Join("my_custom_sketch.zip").String(), + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithRelativeZipPath", + SketchPathParam: cli.WorkingDir().Join("sketch_simple").String(), + TargetPathParam: "./my_archives", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithAbsoluteZipPath", + SketchPathParam: env.RootDir().Join("sketch_simple").String(), + TargetPathParam: archivesFolder.String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("sketch_simple.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithoutExtension", + SketchPathParam: cli.WorkingDir().Join("sketch_simple").String(), + TargetPathParam: "./my_archives/my_custom_sketch", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithRelativeZipPathAndNameWithExtension", + SketchPathParam: cli.WorkingDir().Join("sketch_simple").String(), + TargetPathParam: "./my_archives/my_custom_sketch.zip", + WorkingDir: env.RootDir(), + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithoutExtension", + SketchPathParam: env.RootDir().Join("sketch_simple").String(), + TargetPathParam: archivesFolder.Join("my_custom_sketch").String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + { + SubTestName: "ArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtension", + SketchPathParam: env.RootDir().Join("sketch_simple").String(), + TargetPathParam: archivesFolder.Join("my_custom_sketch.zip").String(), + WorkingDir: sketchSimple, + ExpectedArchivePath: archivesFolder.Join("my_custom_sketch.zip"), + }, + } + + for _, test := range archiveTests { + t.Run(fmt.Sprint(test.SubTestName), func(t *testing.T) { + var err error + cli.SetWorkingDir(test.WorkingDir) + if test.TargetPathParam == "" { + if test.SketchPathParam == "" { + _, _, err = cli.Run("sketch", "archive") + } else { + _, _, err = cli.Run("sketch", "archive", test.SketchPathParam) + } + } else { + _, _, err = cli.Run("sketch", "archive", test.SketchPathParam, test.TargetPathParam) + } + require.NoError(t, err) + + archive, err := zip.OpenReader(test.ExpectedArchivePath.String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + defer require.NoError(t, test.ExpectedArchivePath.Remove()) + verifyZipContainsSketchExcludingBuildDir(t, archive.File) + }) + t.Run(fmt.Sprint(test.SubTestName+"WithIncludeBuildDirFlag"), func(t *testing.T) { + var err error + cli.SetWorkingDir(test.WorkingDir) + if test.TargetPathParam == "" { + if test.SketchPathParam == "" { + _, _, err = cli.Run("sketch", "archive", "--include-build-dir") + } else { + _, _, err = cli.Run("sketch", "archive", test.SketchPathParam, "--include-build-dir") + } + } else { + _, _, err = cli.Run("sketch", "archive", test.SketchPathParam, test.TargetPathParam, "--include-build-dir") + } + require.NoError(t, err) + + archive, err := zip.OpenReader(test.ExpectedArchivePath.String()) + require.NoError(t, err) + defer require.NoError(t, archive.Close()) + defer require.NoError(t, test.ExpectedArchivePath.Remove()) + verifyZipContainsSketchIncludingBuildDir(t, archive.File) + }) + } } func TestSketchArchiveWithPdeMainFile(t *testing.T) {